gpt4 book ai didi

c# - 启动应用程序并将其发送到第二台显示器?

转载 作者:IT王子 更新时间:2023-10-29 04:26:41 24 4
gpt4 key购买 nike

有什么方法可以在另一个屏幕上通过进程启动/启动程序吗?

有人问here但没有人回答。

注意:它不是我应用程序中的表单,我询问的是在另一个屏幕中运行外部程序!

最佳答案

由于窗口不是您的,您只能通过调用 Windows API 来移动它。你必须这样做:

  • 启动进程。

  • 使用 FindWindow检索窗口句柄。如果窗口还不存在,则进程还没有创建它;休眠 500 毫秒,然后重试。 (但不要进入无限循环;如果在合理的超时后找不到窗口,请停止。)

  • 使用 SetWindowPos更改窗口的位置。

如果不知道窗口的标题,则不能使用 FindWindow。在这种情况下,

  • 启动进程并通过检索 Process.Handle 获取进程句柄。

  • 使用 EnumWindows检索所有窗口。对于每个窗口,使用 GetWindowThreadProcessId检查它是否属于您的流程。如果没有窗口属于您的进程,请等待并继续尝试。

  • 使用 SetWindowPos更改窗口的位置。

当然,您可以使用 Screen.AllScreens[n].WorkingArea 检索所需屏幕的位置和大小,然后您可以相对于该屏幕定位窗口。

关于c# - 启动应用程序并将其发送到第二台显示器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com