返回列表 回复 发帖

[贴士] 鼠标按键代码

在从零开始学起时,在我硬盘上一些曾经帮助我很多的小纸条!--Sz

首先,我们来看看鼠标左、中、右,3键的键码
WaitClick click
VBSCall MessageBox(Cstr(click))
EndScript
通过以上这个代码很简单的就可以检测到3个键的键码。
左:32769。中:32777。右:32773
这样,通过上面的脚本进行变化,我们就可以做出当鼠标点击的时候执行脚本。

Rem 开始
WaitClick click
If click=32769
    KeyPress 32 1
    //这里是当鼠标左键点击后,脚本按一下空格,当然可以把上面的操作改成你所需要的
EndIf
Goto 开始
这功能好用吗?不,我们要的不是这样的,左键单击,右键单击这种操作在游戏里太常见了,并不能为我们带来什么效果,如果我们可以用按键来代替游戏中那些排在主键区6以后的技能键那该多好,可是我们怎么让按键判断这些“特殊”操作呢。
我们先来想像一下我们用哪些特殊操作让按键去区别我们的日常操作。
1、右键连续快速单击或左键快速单击,一般1秒以内点2-3次。
2、左右键快速切换按,一般2秒内切换2-3次
(呵呵本人脑子笨暂时只想到这两个操作比较特殊)

VBS i=0
Rem 开始
WaitClick click
If click=32769
   VBS i=i+1
   IF i>=3
      //这里放入脚本操作
   EndIf
Else
   VBS i=0
EndIf
goto 开始
上面这个脚本只是当鼠标连续点3次左键后才运行脚本,但没有时间上的一个区别,因为平时点3次左键也是太正常了,那我们就需要加一个时间函数,最关键的就是这个时间函数的添加了。在做任何一个脚本之前我们需要的是明确自己在什么条件下触发脚本,这里的条件是“鼠标单击3次,并且在1秒以内”大家看一下下面这个脚本:

VBS i=0
Rem 开始
WaitClick click
If click=32769
    VBS starttime=timer
    VBS i=i+1
    Goto 第二次检测
Else
    VBS i=0
    Goto 开始
EndIf
Rem 第二次检测
WaitClick click
If click=32769
    VBS i=i+1
    If i>=3
        VBS endtime=timer
        VBS sc=endtime-starttime
        If sc<=1
            //这里放入脚本操作
        Else
            VBS i=0
            Goto 开始
        EndIf
    Else
        goto 第二次检测
    EndIf
Else
    VBS i=0
    Goto 开始
EndIf
这个脚本里加入了时间的判断,判断了鼠标点击之间的时间差距,如果在1秒内完成3次左键单击,则开始运行脚本。我把整个脚本用初学者可以理解的方式叙述一遍吧:

设置一个变量i并且让它等于0
标记 开始
等待鼠标点击并且把点击后的变量储存在click
如果click等于32769(左键单击)则开始运行下面脚本
    记录一下时间保存在starttime这个变量中
    把i的本身加上1(以后对i进行判断我们点了几次)
    跳转到第二次检测
否则(也就是如果鼠标点击变量不等于32769(左键单击)
    把i定为0
    跳转到开始以便等待我们单击左键
条件结束
标记 第二次检测
等待鼠标点击并且把点击后的变量储存在click
如果click等于32769(左键单击)则开始运行下面脚本
      把i的本身加上1(以后对i进行判断我们点了几次)
      如果i>=3(也就是我们点了3次以后)
          记录一下时间保存在endtime这个变量中(这里取值代表我们已经完成了3次点击可以进行时间判断了)
          把结束记录的时间endtime减去开始记录的时间starttime并保存在变量sc中
          如果sc变量中的值,如果小于1(也就是小于1秒)
              这里放入你需要的脚本(在这里我们看一下,我们已经同时满足了2个条件:鼠标单击3次,并且在1秒以内)
          否则(也就是如果超过了1秒)
              把i设成0(因为超时而需要重新计算了)
              返回到开始标记(脚本重新开始)
        条件结束
     否则(也就是i没有达到3次)
       返回到第二次检测(这样我们可以等待下一次点击)
     条件结束
否则(也就是点了其他键了)
   把i设成0(因为超时而需要重新计算了)
   返回到开始标记(脚本重新开始)
条件结束

以上这个脚本从脚本本身来看“语句”、“判断”、“方法”上都没问题,但是在实际使用中又会有一个问题,我们都忽略了一点,那就是语句运行时间,这也是按键精灵与我们电脑cpu快慢的一个硬伤。当然我们在希望按键精灵提高运行速度的同时也希望使用这样的脚本的使用者有良好的cpu,很多情况下我所提供的这个脚本只能是教大家一个对脚本的使用方法(又或者说是一个理论),希望大家能从中受到启发。由于本人工作关系其实这个篇章已经在电脑里存放了大半年了。今天有空就先放出前半段,后面还有一个,就是鼠标左右键快速切换判断,其实如果大家愿意动一下脑子,可以马上从上面的这个脚本里推导出来。
如果你把所有的都看完了,谢谢
简单就好!
真难啊
学过C语言 还能看得懂一点
人群中我看到了自己裸露的身体
返回列表