检查窗口标题



你好,我正在创建一个程序,检查打开的窗口名称,但目前它每秒检查100次,我想每次窗口更改时都检查。我知道它大概是因为无限循环。但我是C++的新手,我不知道怎么做,有人能帮我吗?

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

致以最良好的问候。

有几件事可以实现:

Best(感谢Remy在评论中(:"另一种选择是使用SetWinEventHook()侦听EVENT_OBJECT_NAMECHANGE事件。这比拦截WM_SETTEXT消息"更有前景",比"渗透"侵入性更小。">

  • 简单而无聊(这似乎不是你真正想要的(:为请求设置一个计时器,以便在更长的时间内调用它
  • 可能是最有前途的一个:用WH_GETMESSAGE设置一个窗口挂钩,以侦听从SetWindowTextA函数发送的WM_SETTEXT
  • 或者疯狂地创建RemoteThread,用一个可靠的间谍潜入你的敌人

最新更新