启动应用程序并将其发送到第二台显示器?
有什么方法可以通过另一个屏幕中的“处理”来启动/提供程序吗?
有人在这里问,但没有答案。
注意:这不是我的应用程序中的表单,我询问的是在另一个屏幕上运行外部程序!
回答:
由于该窗口不是您的窗口,因此只能通过调用Windows API来移动它。您将必须执行以下操作:
启动该过程。
使用
FindWindow
检索的窗口句柄。如果该窗口尚不存在,则表明该进程尚未创建。睡眠500毫秒,然后重试。(但是不要进入无限循环;如果在合理的超时后找不到窗口,请停止。)使用
SetWindowPos
改变窗口的位置。
如果您不知道窗口的标题,则不能使用FindWindow
。在这种情况下,
启动流程并通过检索获取流程句柄
Process.Handle
。使用
EnumWindows
检索所有窗口。对于每个窗口,用于GetWindowThreadProcessId
检查它是否属于您的进程。如果没有任何窗口属于您的进程,请等待并继续尝试。使用
SetWindowPos
改变窗口的位置。
当然,您可以Screen.AllScreens[n].WorkingArea
用来检索所需屏幕的位置和大小,然后可以相对于该窗口定位窗口。
以上是 启动应用程序并将其发送到第二台显示器? 的全部内容, 来源链接: utcz.com/qa/420978.html