我有新的 System.Diagnostics.Process,它启动了 FireFox。如何获取该窗口的Handler?任何想法 - C#、winAPI 函数...任何东西(只是不是 ASM ;) )
最佳答案
启动进程后,您可以调用process.Refresh()
,并且process.MainWindowHandle
属性最终将包含应用程序主窗口的 native 窗口句柄。
启动该过程后,您可能需要等待一段时间才能填充。
这是一些代码:
Process process = new Process();
// Fill process.StartInfo
process.Start();
do
{
System.Threading.Sleep(100);
process.Refresh();
}
while(process.MainWindowHandle == IntPtr.Zero && !process.HasExited);
if(!process.HasExited)
{
IntPtr hwnd = process.MainWindowHandle;
// Do whatever you need to do with hwnd
}
关于c# - 如何获取FireFox新创建的窗口处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2494451/