一种特殊情况的问题:
System.Diagnostics.Process.Start(..)
此时,我需要获取流程的UI(或UI句柄)。假设我无法更改流程的行为以使其变得更容易(或更明智)。
我在网上环顾四周,但我承认我待了一个多小时。似乎应该有点琐碎:-(
如果您不介意使用Windows API,则可以使用EnumWindowsProc,然后检查使用的每个句柄GetWindowThreadProcessId(以查看它是否在您的过程中),然后再检查IsWindowVisible,GetWindowCaption并GetWindowTextLength确定hWnd过程中哪个是那个你要。
EnumWindowsProc
GetWindowThreadProcessId
IsWindowVisible
GetWindowCaption
GetWindowTextLength
hWnd
尽管如果您在使用该方法之前没有使用过这些功能会感到很痛苦,那么希望有一种更简单的方法。