是否有一種方法來獲取窗口句柄(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. 得到窗口的句柄
- 2. 從GetWindowThreadProcessId(c#.net 4.0)中獲取窗口句柄的進程ID
- 3. C# - 獲取活動窗口下的窗口句柄?
- 4. 啓動更多的進程並獲得每個權利的窗口句柄後開始和沒有睡眠?
- 5. C#從窗口句柄獲取父進程
- 6. 獲取C#中窗口的句柄#
- 7. 獲取窗口的句柄在C#
- 8. 獲取C子窗口句柄#
- 9. 如何獲得最小化窗口的窗口句柄
- 10. 窗口句柄C#/。NET
- 11. 獲取窗口句柄
- 12. 獲取VB.NET中PID進程的所有子窗口的句柄
- 13. 如何獲得VBA中執行過程窗口的句柄?
- 14. 通過窗口句柄獲取未知進程的名稱?
- 15. 如何獲取進程的主窗口(而不是窗口句柄)?
- 16. 如何獲取當前C程序的父窗口的句柄?
- 17. 異常消息試圖獲得一個進程的窗口句柄
- 18. 獲取進程表格的句柄c#
- 19. 通過C++獲取外部運行程序的窗口句柄
- 20. 通過窗口句柄獲取父進程ID
- 21. 從進程得到句柄
- 22. ANSI C&WinAPI:如何從鉤子程序獲取窗口句柄?
- 23. 獲取PyGI中的窗口句柄
- 24. 獲取主窗口的句柄在WPF
- 25. 獲取窗口的所有句柄
- 26. 獲取的窗口句柄在Java中
- 27. 窗口的主句柄
- 28. MFC中的窗口句柄?
- 29. 華廷,IE瀏覽器啓動和IWebBrowser2的窗口句柄
- 30. 如何獲得VBA MsgBox的窗口句柄?
嗨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