C++ 判断电脑是否在外部输入框中输入文本
在C++中,可以使用Windows API函数来判断当前电脑是否在任意外部输入框中输入文本的状态。\n\n首先,需要包含Windows.h头文件:\n\ncpp\n#include <Windows.h>\n\n\n然后,可以使用GetForegroundWindow函数获取当前活动窗口的句柄,再使用GetWindowTextLength函数获取该窗口的标题文本长度:\n\ncpp\nHWND hwnd = GetForegroundWindow(); // 获取当前活动窗口的句柄\nint length = GetWindowTextLength(hwnd); // 获取窗口标题文本长度\n\n\n接下来,可以使用GetWindowText函数获取窗口标题文本,并判断是否包含“编辑”、“输入”等关键字:\n\ncpp\nchar* title = new char[length + 1];\nGetWindowText(hwnd, title, length + 1); // 获取窗口标题文本\nif (strstr(title, "编辑") != NULL || strstr(title, "输入") != NULL) {\n // 当前电脑在外部输入框中输入文本的状态\n // 执行相应的操作\n} else {\n // 当前电脑不在外部输入框中输入文本的状态\n // 执行相应的操作\n}\ndelete[] title;\n\n\n完整的示例代码如下:\n\ncpp\n#include <Windows.h>\n#include <iostream>\n\nint main() {\n while (true) {\n HWND hwnd = GetForegroundWindow(); // 获取当前活动窗口的句柄\n int length = GetWindowTextLength(hwnd); // 获取窗口标题文本长度\n\n char* title = new char[length + 1];\n GetWindowText(hwnd, title, length + 1); // 获取窗口标题文本\n if (strstr(title, "编辑") != NULL || strstr(title, "输入") != NULL) {\n std::cout << "当前电脑在外部输入框中输入文本的状态" << std::endl;\n } else {\n std::cout << "当前电脑不在外部输入框中输入文本的状态" << std::endl;\n }\n delete[] title;\n\n Sleep(1000); // 延时1秒\n }\n return 0;\n}\n\n\n注意:以上代码只能检测当前活动窗口的标题文本是否包含关键字来判断当前电脑是否在外部输入框中输入文本的状态,无法判断输入框内的具体文本内容。如果需要获取输入框内的具体文本内容,可以使用其他方法,如使用Windows API函数获取输入框的句柄,再使用SendMessage函数发送消息获取输入框的文本内容。
原文地址: https://www.cveoy.top/t/topic/pn48 著作权归作者所有。请勿转载和采集!