使用SendInput模拟键盘和鼠标动作

简介: 使用SendInput模拟键盘和鼠标动作
HDC hdc;
 HWND hWnd;
 TCHAR sz[] = L"大家好";
 // 查找记事本程序的窗口句柄
 hWnd = ::FindWindow(L"Notepad", NULL);
 // 如果记事本程序在运行,就向其客户区绘制文本
int nCount=0;
 while(::IsWindow(hWnd)&&nCount<=10)  // IsWindow函数用于判断一个窗口句柄是否有效
 {
  hdc = ::GetDC(hWnd);
  ::TextOut(hdc, 10, 10, sz, wcslen(sz));
  ::ReleaseDC(hWnd, NULL);
  ::Sleep(1000);
  /*INPUT minput[2];
  ZeroMemory( &minput, sizeof(INPUT)*2);
  minput[0].type=INPUT_MOUSE;
  minput[0].mi.dx=100;
  minput[0].mi.dy=100;
  minput[0].mi.mouseData=0;
  minput[0].mi.dwFlags=MOUSEEVENTF_RIGHTDOWN;
  minput[1].type=INPUT_MOUSE;
  minput[1].mi.dx=100;
  minput[1].mi.dy=100;
  minput[1].mi.mouseData=0;
  minput[1].mi.dwFlags=MOUSEEVENTF_RIGHTUP;
  UINT uRet=SendInput( 2, minput, sizeof(INPUT) );*/
  INPUT kbinput[5];
  ZeroMemory( &kbinput, sizeof(INPUT)*5 );
  kbinput[0].type = INPUT_KEYBOARD;
  kbinput[0].ki.wVk = 'Z';
  kbinput[1].type = INPUT_KEYBOARD;
  kbinput[1].ki.wVk = 'W';
  kbinput[2].type = INPUT_KEYBOARD;
  kbinput[2].ki.wVk = 'J';
  //kbinput[2].ki.dwFlags = KEYEVENTF_KEYUP;
  kbinput[3].type=INPUT_MOUSE;
  kbinput[3].mi.dx=100;
  kbinput[3].mi.dy=100;
  kbinput[3].mi.mouseData=0;
  kbinput[3].mi.dwFlags=MOUSEEVENTF_RIGHTDOWN;
  kbinput[4].type=INPUT_MOUSE;
  kbinput[4].mi.dx=100;
  kbinput[4].mi.dy=100;
  kbinput[4].mi.mouseData=0;
  kbinput[4].mi.dwFlags=MOUSEEVENTF_RIGHTUP;
  UINT uRet = SendInput( 5, kbinput, sizeof(INPUT) );
  cout<<uRet;
  if(uRet<=0)
  {
   DWORD dwErr=::GetLastError();
   cout<<dwErr;
  }
nCount++;
 }
 ::MessageBox(NULL, L"记事本程序已经退出", L"04UseDC", MB_OK);


相关文章
|
8月前
|
图形学
小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件
小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件
|
11月前
唤醒键盘后无法立即隐藏键盘问题与隐藏键盘的四种方式
唤醒键盘后无法立即隐藏键盘问题与隐藏键盘的四种方式
97 0
|
11月前
失焦事件和点击事件
失焦事件和点击事件
63 1
|
11月前
页面监听键盘事件
页面监听键盘事件
|
前端开发 C# Windows
WPF鼠标、键盘、拖拽事件、用行为封装事件
本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior)来封装事件。
450 0
14、事件类型(鼠标事件、键盘事件、触屏事件)
14、事件类型(鼠标事件、键盘事件、触屏事件)
181 0
Qt | 鼠标事件和滚轮事件 QMouseEvent、QWheelEvent
学习使用Qt的鼠标事件和滚轮事件。
904 0
重新认识键盘与鼠标——键盘事件与鼠标事件
重新认识键盘与鼠标——键盘事件与鼠标事件
305 0
重新认识键盘与鼠标——键盘事件与鼠标事件
|
移动开发 数据可视化 前端开发
解决安卓收起键盘无法触发失焦事件的问题
解决安卓收起键盘无法触发失焦事件的问题
1286 0
鼠标滚轮消息的捕捉
鼠标滚轮消息的捕捉
697 0