在Windows下完成这些功能需要用到VC

模拟键盘输入:

VOID keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtralnfo);  //包含windows.h

QString转lpctstr_微信

QString转lpctstr_微信_02

 

鼠标按键事件:

QString转lpctstr_鼠标移动_03

QString转lpctstr_微信_02

备注:模拟鼠标单击  

mouse_event(MOUSEEVENTF_LEFTDOWN|MOUSEEVENTF_LEFTUP,0,0,0,0);

 

 

鼠标移动事件:

QString转lpctstr_字符串_05

 

获取其它程序句柄:

QString转lpctstr_鼠标移动_06

 

备注:

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());