我的应用程序始终在主显示器上启动

我的应用程序始终在主显示器上启动

我在第二台显示器上运行 Visual Studio 2019(Windows GUI 应用程序)。当我构建并启动该应用程序时,它始终出现在主显示器上。

我希望它出现在运行 Visual Studio 的同一台显示器上。我以为如果我将应用程序拖到该显示器并关闭它,那么它下次应该会在该显示器上启动,但不,它仍然在主显示器上启动。

我怎样才能让它出现在我想要的显示器上?

答案1

对于大多数应用程序来说,拖动到显示器然后关闭窗口都是可行的。如果不行,还有其他方法可以定位应用程序窗口。下面是其中的 2 种方法,

方法 1:以编程方式移动窗口
Screen.AllScreens是一个指向所有活动监视器的数组。因此, Screen.AllScreens[0]将是您的主监视器,Screen.AllScreens[1]将是第二监视器。
现在使用以下脚本获取应用程序窗口的句柄,然后借助“SetWindowPos”方法对其进行定位

// Get handle to active window
IntPtr windowHandle = GetForegroundWindow();

// get position for second monitor  
  secondMonitor = Screen.AllScreens[1].WorkingArea;

// move application window to the second monitor
SetWindowPos(windowHandle, 0, secondMonitor.Left, secondMonitor.Top, secondMonitor.Width, secondMonitor.Height, 0);

方法2:通过快捷方式手动移动窗口
只需允许应用程序在主显示器上打开,然后使用快捷方式Windows++在显示器之间移动应用程序ShiftLeft/Right Arrow

您可以探索涉及注册表和第三方应用程序的其他方式。

相关内容