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

时间:2015-07-13 11:57:03

标签: c# .net handle hwnd spy++

我可以点击鼠标位置获取句柄。但我需要在窗口中找到所有控件的句柄,使用它的classname而不点击。窗户打开时,我必须得到它们。有可能吗?

2 个答案:

答案 0 :(得分:1)

你可以结合两种流行的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);

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

快乐的编码!

答案 1 :(得分:0)

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