【问题标题】:How to find the class name & title of a program in c++?如何在 C++ 中找到程序的类名和标题?
【发布时间】:2011-01-18 17:33:56
【问题描述】:

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

【问题讨论】:

    标签: c++ windows class title


    【解决方案1】:
    1. 使用EnumWindows 枚举所有顶级窗口并获取它们的句柄。

    2. 将句柄传递给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;
    }
    

    【讨论】:

    • @raptor:只是为了让你知道,我在上面我之前忘记的代码中添加了return TRUE
    猜你喜欢
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    相关资源
    最近更新 更多