是否有一种方法来获取窗口句柄(IntPtr)从C#应用程序与Process.Start()启动后的窗口?C#获得启动进程后的窗口句柄
4
A
回答
18
如果这是您的主窗口,Process.MainWindowHandle
会给你你所需要的。
3
使用
process.MainWindowHandle;
它可能是0启动应用程序的时候,所以,直到它被填满你可能要循环和睡眠。
2
你也可以在过程调用刷新(),以确保准确的
+0
好信息,我会记住 – 2009-09-14 14:31:52
3
这是不是最近的话题,但答案是不完整的信息。
我同意Process.MainWindowHandle解决方案,并等待值,但不与睡眠。
如果您刚启动一个进程并希望使用其主窗口句柄,请考虑使用WaitForInputIdle方法来允许进程完成启动,以确保已创建主窗口句柄。
此重载仅适用于处理与用户接口,因此,一个消息循环。
相关问题
- 1. C# - 获取活动窗口下的窗口句柄?
- 2. 启动更多的进程并获得每个权利的窗口句柄后开始和没有睡眠?
- 3. 获取窗口的句柄在C#
- 4. 获取C#中窗口的句柄#
- 5. 获取C子窗口句柄#
- 6. 如何获得最小化窗口的窗口句柄
- 7. 窗口句柄C#/。NET
- 8. 获取窗口句柄
- 9. 获取VB.NET中PID进程的所有子窗口的句柄
- 10. 通过窗口句柄获取未知进程的名称?
- 11. 获取进程表格的句柄c#
- 12. 从进程得到句柄
- 13. 获取窗口的所有句柄
- 14. 获取PyGI中的窗口句柄
- 15. 获取主窗口的句柄在WPF
- 16. 获取的窗口句柄在Java中
- 17. 窗口的主句柄
- 18. MFC中的窗口句柄?
- 19. 如何在Delphi中获得CWnd对象的窗口句柄?
- 20. 如何获得VBA MsgBox的窗口句柄?
- 21. 如何获得的句柄对话窗口
- 22. 从GtkWidget获取X11窗口句柄
- 23. 如何获取桌面窗口句柄?
- 24. 窗口句柄和窗口尺寸
- 25. 从Selenium webdriver的当前窗口获取窗口句柄(IntPtr)GUID
- 26. 获取上次激活窗口的窗口句柄
- 27. 获取调用窗口的窗口句柄
- 28. 重新启动Windows进程inplace保存进程ID和句柄
- 29. 获取没有标题的窗口的句柄..(C#)
- 30. 检索Delphi窗口句柄
嗨Jan, 对我来说,句柄始终为零,即使在无限循环之后,句柄永远不会变为任何其他值。我使用以下代码: proc.StartInfo.FileName = @“C:\ Documents and Settings \ SUM \ Desktop \ PortableApps \ Notepad ++ Portable \ Notepad ++ Portable.exe”; proc.StartInfo.Arguments = String.Empty; proc.Start(); IntPtr appHwnd = proc.MainWindowHandle; (appHwnd == IntPtr.Zero) while(appHwnd == IntPtr.Zero) Thread.Sleep(100); appHwnd = proc.MainWindowHandle; } 有什么不对? – Marcel 2010-01-04 09:55:10
根据此(http://www.xtremedotnettalk.com/showpost.php?s=b115a21c0601804f80c9a2680db9c38f&p=461829&postcount=4)它也可能为零,因为应用程序确实显示一个对话框或首先初始化Flash。 – Marcel 2010-01-04 10:23:39