有没有办法在使用 Process.Start() 从 C# 应用程序启动窗口后获取窗口句柄 (IntPtr)?
问问题
20218 次
4 回答
25
如果它是您所追求的主窗口,Process.MainWindowHandle
它将为您提供所需的东西。
于 2009-09-14T12:14:23.163 回答
8
采用
process.MainWindowHandle;
启动应用程序时它可能为 0,因此您可能希望循环并休眠直到它被填满。
于 2009-09-14T12:15:35.587 回答
6
这不是最近的话题,但答案并不完整。
我同意 Process.MainWindowHandle 解决方案并等待该值,但不同意 Sleep。
如果您刚刚启动了一个进程并想使用它的主窗口句柄,请考虑使用 WaitForInputIdle 方法让该进程完成启动,确保已创建主窗口句柄。
此重载仅适用于具有用户界面的进程,因此也适用于消息循环。
于 2016-05-16T13:49:27.443 回答
2
您也可以在进程中调用 Refresh() 以确保信息准确无误
于 2009-09-14T13:05:22.693 回答