作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
到目前为止,我已经找到了如何将鼠标移动到 x 和 y 位置以及右键单击和左键单击的方法。我似乎无法弄清楚如何单击某些内容然后从 c++ 键入。如果我有一个 word 文档,我希望能够单击它,打开它并在其中键入内容。提前致谢!
#include <windows.h>
#include <iostream>
#include <ctime>
using namespace std;
int main ()
{
SetCursorPos(97,758);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // Left click
Sleep( 1000 );
SetCursorPos(418,657);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
SetCursorPos(266,34);
Sleep( 1000 );
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
//right here is where I would like to type something to the document
}
最佳答案
尝试使用 SendInput
INPUT ip;
// Set up a generic keyboard event.
ip.type = INPUT_KEYBOARD;
ip.ki.wScan = 0; // hardware scan code for key
ip.ki.time = 0;
ip.ki.dwExtraInfo = 0;
// Press the "A" key
ip.ki.wVk = 0x41; // virtual-key code for the "a" key
ip.ki.dwFlags = 0; // 0 for key press
SendInput(1, &ip, sizeof(INPUT));
// Release the "A" key
ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release
SendInput(1, &ip, sizeof(INPUT));
关于c++ - 从 C++ 我如何在我的桌面或我的计算机上的 word 文档中键入一个字符串(不是窗口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16887943/
我是一名优秀的程序员,十分优秀!