在Windows下完成这些功能需要用到VC
模拟键盘输入:
VOID keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtralnfo); //包含windows.h
鼠标按键事件:
备注:模拟鼠标单击
mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);
鼠标移动事件:
获取其它程序句柄:
备注:
HWND id = FindWindow(NULL,"微信"); //类名(第一个参数)可以为空,第二个参数为需要获取那个程序的句柄的程序名,打开任务管理器可以看到。 获取微信的句柄
QT中在FindWindow中直接填入 程序名字符串(第二个参数),可能会报错或者无法正确获取程序句柄;
解决方案:需要将 程序名字符串 转为 LPCWSTR 再填入
如:
QString appNameStr("微信");
QString classNameStr("WeChatMainWndForPC");
LPCWSTR appName = reinterpret_cast<LPCWSTR>(appNameStr.data());
LPCWSTR className= reinterpret_cast<LPCWSTR>(classNameStr.data());