检查窗口标题

时间:2018-11-06 17:45:01

标签: c++ loops winapi

你好,我正在创建一个程序来检查打开的窗口名称,但目前它每秒检查一次,例如每秒100次,并且我想在每次窗口更改时都对其进行检查。我知道它可能是无限循环的原因。 C ++和我都不知道该怎么做,有人可以帮我吗?

    char wnd_title[256];
    while(1) {
        HWND hwnd=GetForegroundWindow();
        GetWindowText(hwnd,wnd_title,sizeof(wnd_title));
        cout << wnd_title;
    }

最诚挚的问候。

1 个答案:

答案 0 :(得分:-1)

您可以执行以下几项操作:

最好(感谢评论中的雷米):“另一种选择是使用SetWinEventHook()来监听EVENT_OBJECT_NAMECHANGE事件。这比拦截WM_SETTEXT消息“更有希望”,并且比“渗透”更少侵入。”

  • 简单无聊(似乎并不是您想要的):为请求设置一个计时器,以便在更长的时间内调用它
  • 最有前途的可能是:使用WH_GETMESSAGE设置Window hook来监听从SetWindowTextA函数发出的WM_SETTEXT
  • 或发疯并CreateRemoteThread,并用可信赖的间谍渗透到敌人。