c++ - 检查窗口标题
问题描述
您好,我正在创建检查打开的窗口名称的程序,但目前它每秒检查 100 次,我想在每次窗口更改时检查它。我知道它可能是因为无限循环。但我是 C++ 的新手,我不知道该怎么做,有人可以帮助我吗?
char wnd_title[256];
while(1) {
HWND hwnd=GetForegroundWindow();
GetWindowText(hwnd,wnd_title,sizeof(wnd_title));
cout << wnd_title;
}
此致。
解决方案
您可以做几件事来实现这一目标:
最佳(感谢评论中的 Remy):“另一种选择是用于SetWinEventHook()
监听EVENT_OBJECT_NAMECHANGE
事件。这比拦截WM_SETTEXT
消息“更有希望”,并且比“渗透”更不具有侵入性。”
- 简单而无聊(而且它似乎不是你真正想要的):为请求设置一个计时器,以便在更长的时间内调用它
- 可能是最有希望的一个:使用 WH_GETMESSAGE 设置一个Window 挂钩来侦听从SetWindowTextA函数发送的 WM_SETTEXT
- 或者完全发疯并创建远程线程并用可信赖的间谍渗透你的敌人。
推荐阅读
- api - 谷歌页面速度 API 中的百分位数是什么意思?
- c# - Oracle.ManagedDataAccess.Client.OracleException:“ORA-01843:无效月份”
- javascript - 使用 mocha 进行类继承测试:为一个类而不是另一个类获取“ReferenceError:配置未定义”
- svelte - SvelteKit req.body 未定义
- c# - 无法为 StreamWriter 应用 `using` 的新语法
- python - 范围函数不打印数字列表
- c - 如何将参数从 C 传递到汇编函数?
- deep-learning - PyTorch 中 nn.BCEWithLogitsLoss() 中 1 的张量 - cuda 内存不足?
- regex - 使用 awk 和 regexp 匹配两个文件中的字符串
- python - 带有 python 的 midiutil 不在通道 10 中写入鼓组声音?