问题是如何从运行的程序和那些程序的标题中查找类名。我知道已经有一些扫描工具,例如Visual Studio中的WinDowsespy++,但是我要问的是如何制作像我们自己的源代码中的程序那样的程序,使用什么功能,是否有一些开源程序有帮助吗?代码赞赏​​,链接也:)

最佳答案

使用EnumWindows枚举所有顶级窗口并获取它们的句柄。
将句柄传递给GetWindowTextGetClassName分别获取窗口标题和窗口类。


例:

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;
}

09-10 02:44
查看更多