使用它的classname获取窗口上所有控件的句柄

本文关键字:控件 句柄 获取 classname 窗口 | 更新日期: 2023-09-27 18:02:29

我可以通过点击鼠标位置获得手柄。但我需要找到一个窗口上使用它的类名的所有控件的句柄,而不单击。趁窗户开着,我得去拿。这可能吗?

使用它的classname获取窗口上所有控件的句柄

你可以组合两个流行的API:

[DllImport("user32.Dll")]
private static extern Boolean EnumChildWindows(int hWndParent, PChildCallBack lpEnumFunc, int lParam);

此函数用于获取窗口内的所有"子"窗口。第二个是

[DllImport("User32.Dll")]
private static extern void GetClassName(int hWnd, StringBuilder s, int nMaxCount);

使用此方法筛选枚举窗口是否具有特定的类名。

编码快乐!

是的,您需要使用各种API调用,从EnumWindows开始,也可能是GetClassName。