[精品] VFP调用API来实现模拟鼠标和键盘操作的代码

电脑杂谈  发布时间:2020-09-06 15:17:21  来源:网络整理

vfp鼠标跟随_鼠标跟随_vfp鼠标跟随

*-VFP调用API来实现模拟鼠标的代码。键盘操作*-模拟键盘合作,例如Ctrl + V在Win32API中声明keybd_event短bVk,短bScan,整数dwFlags,整数deExtraInfo keybd_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) *或#Define VK_CONTROL 0x11 #Define KEYEVENTF_KEYUP 0x02在“ user32”中声明较长的keybd_event整数bVk,整数bScan,长dwFlags,长dwExtraInfo清除预输入keybd_event(VK_CONTROL,0,0,0) &&模拟按Ctrl键keybd(Asc)),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'释放键* VK_RETURN =&HD'输入* VK_SHIFT &H10'Shift * VK_CONTROL =&H11'Ctrl * VK_CAPITAL =&H14'capslock * VK_ESCAPE =&H1B'转义*-模拟鼠标操作,例如单击鼠标左键MOUSEEVENTF_LEFTDOWN = 0x2 MOUSEEVENTF_LEFTUP = 0x4 MOUSEEVENTF_MIDDLEDOWNDOWN = 0x20的MOUSEEVENTF_MIDDLEUP = 0x40的MOUS EEVENTF_MOVE =为0x1 MOUSEEVENTF_ABSOLUTE =为0x8000 MOUSEEVENTF_RIGHTDOWN = 0x8中MOUSEEVENTF_RIGHTUP = 0x10的申报mouse_event在Win32API的整数dwFlags中,整数DX,整型DY,整型cButtons,整型dwExtraInfo *不管屏幕在水平和垂直均匀地划分鼠标坐标系的方向,65535×65535单位= mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE,10000,10000,0,0) &&将鼠标移动到绝对位置10000,10000 = mouse_event(MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP,0,0,0, 0) && click左键(按下和释放的组合)* = mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0) * = mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0)'-以下是VB模拟鼠标的描述和示例'------------------------------------------- ''模拟鼠标的左键单击和右键单击'------------------------------------- ------''程序说明:''本示例使用API函数可实现模拟的鼠标事件。该程序运行后,将产生非常有趣的效果。

鼠标跟随_vfp鼠标跟随_vfp鼠标跟随

也尝试一下。 ''在此示例中,仅使用相对鼠标坐标,我们也可以使用绝对''鼠标坐标进行尝试。 ''-------------------------------------------''[VB语句]”私有声明子mouse_event Lib“ user32”(ByVal dwFlags长,ByVal dx长,ByVal dy长,ByVal cButtons长,ByVal dwExtraInfo长)”” [解释]''模拟鼠标事件” [备注]''执行相对移动时,由SystemParametersInfo函数指定的系统鼠标跟踪速度将应用于运行鼠标的速度。''[参数表]''dwFlags --------长,以下标志组合''MOUSEEVENTF_ABSOLUTE''dx和dy指定鼠标坐标系中的绝对位置。在鼠标坐标系中,屏幕在水平和垂直方向上均匀划分为65535×65535单位-''MOUSEEVENTF_MOVE移动鼠标的'MOUSEEVENTF_LEFTDOWN以模拟鼠标左键,按'MOUSEEVENTF_LEFTUP以模拟鼠标左键来抬起''MOUSEEVENTF_RIGHTDOWN模拟鼠标右键''MOUSEEVENTF_RIGHTUP模拟鼠标右键向上''MOUSEEVENTF_MIDDLEDOWN模拟鼠标中键向下''MOUSEEVENTF_MIDDLEUP模拟鼠标中键向上'dx --------- ----长,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向上的绝对位置或相对运动''dy -------------长,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,请指定在垂直方向上的绝对位置或相对运动。” cButtons ------- Long,未使用''dwExtraInfo ---- Long,通常未使用的值。

鼠标跟随_vfp鼠标跟随_vfp鼠标跟随

使用GetMessageExtraInfo函数获取此值。可用值取决于特定驱动程序的选项显式私有声明子mouse_event Lib“ user32” _(_ ByVal dwFlags长,_ ByVal dx长,_ ByVal dy长,_ ByVal cButtons长,_ ByVal dwExtraInfo如Long _)'Option_Tag指示选择了哪种模拟事件'Dim Option_Tag As Integer'OnTest指示其是否处于模拟状态,因此我们可以停止模拟'Dim OnTest As Boolean'API变量的定义'Const MOUSEEVENTF_LEFTDOWN =&H2常量MOUSEEVENTF_LEFTUP =&H4常量MOUSEEVENTF_MIDDLEDOWN =&H20常量MOUSEEVENTF_MIDDLEUP =&H40常量MOUSEEVENTF_MOVE =&H1常量MOUSEEVENTF_ABSOLUTE =&H8000常量MOUSEEVENTF_RIGHT = =且&H8常量'如果Command不在仿真命令的开头和结尾1. Caption =“立即停止” Timer 1.启用= True OnTest = True'如果它处于模拟状态'否则Command 1. Caption =“ Try it” Timer 1. Enabled = False OnTest = False End如果End Sub'在加载表单时需要设置一些变量'Private Sub Form_Load()Option_Tag = 1 Timer 1. Enabled = False OnTest = False End Sub'选择为模拟“鼠标左键单击事件”'Private Sub Option1_Click()Option_Tag = 1'左单击事件Option 2. Value = False Option 3. Value = False End Sub'选择为模拟“鼠标单击事件”'Private Sub Option2_Click()Option_Tag = 2'右击事件Option 1.值= False Option 3. Value = False End Sub'选择模拟“鼠标双击事件” Sub Option3_Click()Option_Tag = 3'双击事件Option 1.值= False Option 2. Value = False结束Sub'每秒模拟一次鼠标事件'Private Sub Timer1_Timer()如果Option_Tag = 1则'Mouse_event函数调用,参数设置如上所述。 '如果要在同一时间模拟两个鼠标事件,则可以使用Or连接两个参数。这是按下和释放鼠标左键的两次事件的组合,即单击。 mouse_event MOUSEEVENTF_LEFTDOWN或MOUSEEVENTF_LEFTUP,0、0、0、0 ElseIf Option_Tag = 2然后'模拟鼠标右键单击事件'mouse_event MOUSEEVENTF_RIGHTDOWN或MOUSEEVENTF_RIGHTUP,0、0、0、0其他'两个连续的鼠标左键单击事件构成鼠标双击事件'mouse_event MOUSEEVENTF_LEFTDOWN或MOUSEEVENTF_LEFTUP,0、0、0、0 mouse_event MOUSEEVENTF_LEFTDOWN或MOUSEEVENTF_LEFTUP,0、0、0、0如果结束则结束


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-315187-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...