在特定监视器上运行进程

时间:2018-02-02 17:33:42

标签: c++ winapi

我有一个程序,除其他外,启动进程(我使用winapi函数CreateProcess)

当系统有多个监视器时,问题就开始了。 我需要能够指定显示进程窗口的监视器。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

使用ShellExecuteEx(),它采用SHELLEXECUTEINFO结构。它有一个hMonitor成员来按句柄指定监视器。

要获取监视器的句柄,请调用EnumDisplayMonitors(),它会枚举所有可用的显示监视器,并为每个监视器触发MonitorEnumProc回调函数。实现回调函数并收集所需监视器的hMonitor句柄。在调用SHELLEXECUTEINFO时,请在ShellExecuteEx()结构中使用它。