问题是如何从运行的程序和那些程序的标题中查找类名。我知道已经有一些扫描工具,例如Visual Studio中的WinDowse
或spy++
,但是我要问的是如何制作像我们自己的源代码中的程序那样的程序,使用什么功能,是否有一些开源程序有帮助吗?代码赞赏,链接也:)
最佳答案
使用EnumWindows
枚举所有顶级窗口并获取它们的句柄。
将句柄传递给GetWindowText
和GetClassName
分别获取窗口标题和窗口类。
例:
EnumWindows(EnumProc, 0);
...
BOOL CALLBACK EnumProc(HWND hWnd, LPARAM lParam) {
TCHAR title[256];
TCHAR className[256];
GetWindowText(hWnd, title, 256);
MessageBox(NULL, title, NULL, MB_OK);
GetClassName(hWnd, className, 256);
MessageBox(NULL, className, NULL, MB_OK);
return TRUE;
}