www. 我的原创下载
今天有朋友问我鼠标怎么模拟的,我这个类鼠标这个方法,写的不好,我自己都没用过
,我找了找一个vb的例子,你们可以转换成c#的
以下是用winio模拟鼠标的函数,但是并不是在所有系统中都能正常运行,有需要的试试看吧
Sub MyMouseKey(MouseFun As Long, MyMouseX As Long, MyMouseY As Long, MyMouseZ As Long)
' 左键按下(MouseFun=9)。MyMouseX、MyMouseY、MyMouseZ 为0
' 右键按下(MouseFun=10)。MyMouseX、MyMouseY、MyMouseZ 为0
' 中键按下(MouseFun=12)。MyMouseX、MyMouseY、MyMouseZ 为0
' 任意键放开(MouseFun=8)。MyMouseX、MyMouseY、MyMouseZ 为0
' ------------------------------------
' 鼠标上移(MouseFun=8)。MyMouseY为移动距离,最大为255,最小为1。MyMouseX、MyMouseZ 为0
' 鼠标下移(MouseFun=40)。MyMouseY为移动距离,最大为1,最小为255。MyMouseX、MyMouseZ 为0
' 鼠标左移(MouseFun=24)。MyMouseX为移动距离,最大为1,最小为255。MyMouseY、MyMouseZ 为0
' 鼠标右移(MouseFun=8)。MyMouseX为移动距离,最大为255,最小为1。MyMouseY、MyMouseZ 为0
' ------------------------------------
KBCWait4IBE '等待缓冲区为空
SetPortVal 100, 211, 1 '发送鼠标写入命令
KBCWait4IBE '等待缓冲区为空
SetPortVal 96, MouseFun, 1 '发送鼠标动作命令
'-------------------------------------
KBCWait4IBE '等待缓冲区为空
SetPortVal 100, 211, 1 '发送鼠标写入命令
KBCWait4IBE '等待缓冲区为空
SetPortVal 96, MyMouseX, 1 '发送鼠标动作命令
'-------------------------------------
KBCWait4IBE '等待缓冲区为空
SetPortVal 100, 211, 1 '发送鼠标写入命令
KBCWait4IBE '等待缓冲区为空
SetPortVal 96, MyMouseY, 1 '发送鼠标动作命令
'-------------------------------------
KBCWait4IBE '等待缓冲区为空
SetPortVal 100, 211, 1 '发送鼠标写入命令
KBCWait4IBE '等待缓冲区为空
SetPortVal 96, MyMouseZ, 1 '发送鼠标动作命令
End Sub
示例:
MyMouseKey 9, 0, 0, 0 '左键按下
MyMouseKey 8, 0, 0, 0 '左键放开
MyMouseKey 10, 0, 0, 0 '右键按下
MyMouseKey 8, 0, 0, 0 '右键放开
MyMouseKey 12, 0, 0, 0 '中键按下
MyMouseKey 8, 0, 0, 0 '中键放开
MyMouseKey 8, 0, 5, 0 '上移5象素
MyMouseKey 40, 0,(255 xor 5),0 '下移5象素
MyMouseKey 24,(255 xor 5), 0, 0 '左移5象素
MyMouseKey 8, 5, 0, 0 '右移5象素
这个类效率不太好,我有个帖子,发的程序,稍微改动了点东西,稍微好了点
http://bbs.bc-cn.net/viewthread.php?tid=170737&star=at#
[此贴子已经被作者于2007-10-6 19:00:53编辑过]