VFP调用API实现代码模拟鼠标键盘动作_第1页
VFP调用API实现代码模拟鼠标键盘动作_第2页
VFP调用API实现代码模拟鼠标键盘动作_第3页
VFP调用API实现代码模拟鼠标键盘动作_第4页
VFP调用API实现代码模拟鼠标键盘动作_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFP调用API实现代码模拟鼠标键盘动作*--VFP调用API实现代码模拟鼠标.键盘动作*--模拟键盘协作,如Ctrl+VDeclarekeybd_eventInWin32APIShortbVk,ShortbScan,IntegerdwFlags,IntegerdeExtraInfokeybd_event(17,0,0,0)keybd_event(Asc('V'),0,0,0)keybd_event(Asc('V'),0,2,0)keybd_event(17,0,2,0)*或#DefineVK_CONTROL0x11#DefineKEYEVENTF_KEYUP0x02DeclareLongkeybd_eventIn"user32"IntegerbVk,IntegerbScan,LongdwFlags,LongdwExtraInfoClearTypeaheadkeybd_event(VK_CONTROL,0,0,0)&&模拟按下Ctrl键keybd_event(Asc('V'),0,0,0)&&模拟按下V键keybd_event(Asc('V'),0,KEYEVENTF_KEYUP,0)&&松开V键keybd_event(VK_CONTROL,0,KEYEVENTF_KEYUP,0)&&松开Ctrl键*KEYEVENTF_KEYUP=&H2'Releasekey*VK_RETURN=&HD'enter*VK_SHIFT=&H10'Shift*VK_CONTROL=&H11'Ctrl*VK_CAPITAL=&H14'capslock*VK_ESCAPE=&H1B'escape*--模拟鼠标动作,如单击左键MOUSEEVENTF_LEFTDOWN=0x2MOUSEEVENTF_LEFTUP=0x4MOUSEEVENTF_MIDDLEDOWN=0x20MOUSEEVENTF_MIDDLEUP=0x40MOUSEEVENTF_MOVE=0x1MOUSEEVENTF_ABSOLUTE=0x8000MOUSEEVENTF_RIGHTDOWN=0x8MOUSEEVENTF_RIGHTUP=0x10Declaremouse_eventInWin32APIIntegerdwFlags,Integerdx,Integerdy,IntegercButtons,IntegerdwExtraInfo*在鼠标坐标系统中,不管什么分辨率屏幕在水平和垂直方向上均匀分割成65535×65535个单元=mouse_event(MOUSEEVENTF_ABSOLUTE+MOUSEEVENTF_MOVE,10000,10000,0,0)&&移动鼠标到绝对位置10000,10000=mouse_event(MOUSEEVENTF_LEFTDOWN+MOUSEEVENTF_LEFTUP,0,0,0,0)&&单击左键(按下再松开的组合)*=mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0)*=mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0)'--以下为VB模拟鼠标的说明及例子'-------------------------------------------''模拟鼠标的左键单击和右键单击''-------------------------------------------''程序说明:''本例采用API函数实现模拟的鼠标事件,程序运行后会''产生十分有趣的效果。也来试一试。''本例中只使用了相对鼠标坐标,我们也可以使用绝对''鼠标坐标来试一试。''-------------------------------------------''【VB声明】''PrivateDeclareSubmouse_eventLib"user32"(ByValdwFlagsAsLong,ByValdxAsLong,ByValdyAsLong,ByValcButtonsAsLong,ByValdwExtraInfoAsLong)''【说明】''模拟一次鼠标事件''【备注】''进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度''【参数表】''dwFlags--------Long,下述标志的一个组合''MOUSEEVENTF_ABSOLUTE''dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元-''MOUSEEVENTF_MOVE移动鼠标''MOUSEEVENTF_LEFTDOWN模拟鼠标左键按下''MOUSEEVENTF_LEFTUP模拟鼠标左键抬起''MOUSEEVENTF_RIGHTDOWN模拟鼠标右键按下''MOUSEEVENTF_RIGHTUP模拟鼠标右键抬起''MOUSEEVENTF_MIDDLEDOWN模拟鼠标中键按下''MOUSEEVENTF_MIDDLEUP模拟鼠标中键抬起''dx-------------Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动''dy-------------Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动''cButtons-------Long,未使用''dwExtraInfo----Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序'OptionExplicitPrivateDeclareSubmouse_eventLib"user32"_(_ByValdwFlagsAsLong,_ByValdxAsLong,_ByValdyAsLong,_ByValcButtonsAsLong,_ByValdwExtraInfoAsLong_)'Option_Tag标示选择了哪一种模拟事件'DimOption_TagAsInteger'OnTest标示是否处于模拟状态,以便我们停止模拟'DimOnTestAsBoolean'对API变量的定义'ConstMOUSEEVENTF_LEFTDOWN=&H2ConstMOUSEEVENTF_LEFTUP=&H4ConstMOUSEEVENTF_MIDDLEDOWN=&H20ConstMOUSEEVENTF_MIDDLEUP=&H40ConstMOUSEEVENTF_MOVE=&H1ConstMOUSEEVENTF_ABSOLUTE=&H8000ConstMOUSEEVENTF_RIGHTDOWN=&H8ConstMOUSEEVENTF_RIGHTUP=&H10'控制模拟的开始与结束'PrivateSubCommand1_Click()'如果不处于模拟状态'IfOnTest=FalseThenCommand1.Caption="快停下来吧"Timer1.Enabled=TrueOnTest=True'如果处于模拟状态'ElseCommand1.Caption="试一试"Timer1.Enabled=FalseOnTest=FalseEndIfEndSub'窗体加载时一些变量需要设置'PrivateSubForm_Load()Option_Tag=1Timer1.Enabled=FalseOnTest=FalseEndSub'选择了模拟“鼠标左键单击事件”'PrivateSubOption1_Click()Option_Tag=1'左键单击事件Option2.Value=FalseOption3.Value=FalseEndSub'选择了模拟“鼠标右键单击事件”'PrivateSubOption2_Click()Option_Tag=2'右键单击事件Option1.Value=FalseOption3.Value=FalseEndSub'选择了模拟“鼠标双击事件”'PrivateSubOption3_Click()Option_Tag=3'双击事件Option1.Value=FalseOption2.Value=FalseEndSub'每隔一秒中模拟一次鼠标事件'PrivateSubTimer1_Timer()IfOption_Tag=1Then'调用了mouse_event函数,其参数的设置见前面说明''如果同时要模拟两个鼠标事件,可以用Or将两个参数连接''这里是鼠标左键按下和松开两个事件的组合即一次单击'mouse_eventMOUSEEVENTF_LEFTDOWNOrMOUSEEVENTF_LEFTUP,0,0,0,0ElseIfOption_Tag=2Then'模拟鼠标右键单击事件'mouse_eventMOUSEEVENTF_RIGHTDOWN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论