我正在编写一个对所选窗口进行一些更改的应用程序。我试图找出如何在c#按下按钮后选择窗口的HWND。
流程将类似于:
用户按下表示选择窗口的表单按钮,表单隐藏自己不允许自己选择,用户点击桌面上的另一个窗口,这可以是任何应用程序,表单重新出现并收集HWND在所选窗口中,程序使用HWND进行业务。
我不知道该怎么办的部分是选择了哪个窗口。
非常感谢任何帮助!
答案 0 :(得分:1)
一种选择是轮询GetForegroundWindow API,直到HWND更改为另一个窗口。
答案 1 :(得分:1)
执行此类操作的“经典”方法 - as used by Spy++以及允许您选择要检查或使用的UI的各种其他应用程序 - 类似于:(这是从C ++ /写的从Win32 API的角度来看,但除了WindowFromPoint和GetAncestor之外,大多数步骤都有.Net等价物
在拖动以取消操作期间也可以处理ESC也很有礼貌。
此外,以上不是键盘友好的;在应用程序的生命周期内或者在选择对话框出现时永久地使用说RegisterHotkey和一些热键也是一个好主意,并使用其他回复中提到的GetForegroundWindow()来响应热键。
答案 2 :(得分:0)
一种方法是