C#获取窗口句柄启动过程后,(C# get window handle after starting

2019-07-17 23:06发布

有没有一种方法来获取窗口句柄(IntPtr的)为其后从C#应用程序启动了的Process.Start()的窗口?

Answer 1:

如果它是你后的主窗口, Process.MainWindowHandle会给你你所需要的。



Answer 2:

使用

process.MainWindowHandle;

这可能是0启动应用程序的时候,所以,直到它被填满你可能要循环和睡眠。



Answer 3:

这不是一个近期的话题,但答案是不完整的。

我同意Process.MainWindowHandle解决方案和等待的价值,但不与睡眠。

如果你刚开始的过程,并希望使用它的主窗口句柄,可以考虑使用WaitForInputIdle方法让这个进程完成启动,确保主窗口句柄已创建。

Process.WaitForInputIdle

这种过载仅适用于处理与用户接口,因此,一个消息循环。



Answer 4:

你也可以在过程调用刷新(),以确保在准确的信息



文章来源: C# get window handle after starting a process