VC 模拟鼠标和键盘输入.docxVIP

  • 29
  • 0
  • 约5.06千字
  • 约 5页
  • 2018-06-24 发布于河南
  • 举报
VC 模拟鼠标和键盘输入

VC 模拟鼠标和键盘输入 - 天 下 - 博客频道 - CSDN.NET 模拟鼠标点击: 1、这里是鼠标左键按下和松开两个事件的组合即一次单击:  mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )  2、模拟鼠标右键单击事件:  mouse_event (MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 )  3、两次连续的鼠标左键单击事件 构成一次鼠标双击事件:  mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )  mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )  4、使用绝对坐标  MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0  需要说明的是,如果没有使用MOUSEEVENTF_ABSOLUTE,函数默认的是相对于鼠标当前位置的点,如果dx,和dy,用0,0表示,这函数认为是当前鼠标所在的点--直接设定绝对坐标并单击  mouse_event(MOUSEEVENTF_LEFTDOWN, X * 65536 / 1024, Y * 65536 / 768, 0, 0);  mouse_event(MOUSEEVENTF_LEFTUP, X * 65536 / 1024, Y * 65536 / 768, 0, 0);  其中X,Y分别是你要点击的点的横坐标和纵坐标  模拟键盘输入: [cpp] void EnterString(const char* text) { bool bShift = false; size_t length = strlen(text); for(size_t index = 0;index lt; length;index++) { int val = text[index]; if(val gt;= 97 amp;amp; val lt;= 122) //小写a-z { val -= 32; bShift = false; } else if(val gt;= 65 amp;amp; val lt;= 90) //大写A-Z { bShift = true; } else if(val gt;= 48 amp;amp; val lt;= 57) //数字0-9 { bShift = false; } else //特殊符号 { switch(val) { case `: val = 192; bShift = false; break; case ~: val = 192; bShift = true; break; case !: val = 1; //!和1在同一个键盘,使用同一个键盘码,以下相同 bShift = true; break; case @: val = 2; //@和2在同一个键盘,使用同一个键盘码,以下相同 bShift = true; break; case #: val = 3; bShift = true; break; case $: val = 4; bShift = true; break; case %: val = 5; bShift = true; break; case ^: val = 6; bShift = true; break; case amp;: val = 7; bShift = true; break; case *: val = 8; bShift = true; break; case (: val = 9; bShift = true; break; case ): val = 0; bShift = true; break; case -: val = 189; bShift = false; break; case =: val = 1

文档评论(0)

1亿VIP精品文档

相关文档