我试图获取一个窗口的句柄,但它的类名不幸地改变了(不是我的进程)。只有类名的第一部分保持不变(Afx:ControlBar:
)。它也不是一个顶级进程,而是另一个窗口的子窗口。
我知道,对于类名的完整字符串匹配,我可以使用
var controlBar = FindWindowEx(_parentWindow, IntPtr.Zero, "Afx:ControlBar:ac39000", "");
我还知道,我可以使用FindWindowEx
的childAfter
参数遍历_parentWindow
的所有子窗口,但我不确定如何从返回的IntPtr对象中获取className。
是否有一种简单的方法可以从已知的className子字符串中获取所需的窗口句柄?
1条答案
按热度按时间fnvucqvd1#
基于@Idle_Mind在评论中提到的有用的例子,下面是我如何使用
GetClassName()
解决这个问题的。