按键9版本要实现这个其实很容易的,用QUI控件就是了,给你个QUI截图吧,你按着从上到下的顺序将控件拖出来,再复制如下代码一试就明白了(调试->自定义界面,用不着点开始,因为主程序代码都用不着),很简单。当然,你要测试时请点开并激活一个记事本来试,不然没地方输出可看不到效果哦!至于你要做成后台或要优化,你会了就自己可以搞掂了。
Event Form1.LoadOver
Form1.Hotkey1.Virtualkey = 49
Form1.Hotkey2.Virtualkey = 50
Form1.Hotkey1.Modifiers = 4
Form1.Hotkey2.Modifiers = 4
Form1.Hotkey1.Register True
Form1.Hotkey2.Register True
End Event
Event Form1.Button1.Click
Form1.Hotkey1.Register True
End Event
Event Form1.Button2.Click
Form1.Hotkey2.Register True
End Event
Event Form1.Hotkey1.Hotkey
SayString Form1.InputBox1.Text
End Event
Event Form1.Hotkey2.Hotkey
SayString Form1.InputBox2.Text
End Event
'可在QUI界面内自定义热键,自定义输出内容
UserVar jn2=2 "设置技能2键位"
UserVar str1="这是自动喊的第1句话" "请输入自动叫喊的第1句话"
UserVar str2="这是自动喊的第2句话" "请输入自动叫喊的第2句话"
Dim a, b, key(1), L, number(2),m1
number(0)=jn1:number(1)=jn2
Call 判断按键()
Rem x
m1 = WaitKey()
If m1 = key(0) Then
SayString str1
Else
If m1 = key(1) Then
SayString str2
Else
Goto x
End If
End If
Goto x
Sub 判断按键()
a=0:b=0
//赋值数组最小下标
For 2
L=Len(number(a))
//< Len 函数:返回字符串内字符的数量>
If L=1 Then
key(b)=Asc(UCase(number(a)))
//< Asc 函数:返回字符串首字母的ASCII字符代码> < UCase 函数:返回转换为大写字母的字符>
If key(b)<48 or key(b)>90 Then
Call 结束()
//超出范围跳转到脚本结束标记
ElseIf key(b)>57 and key(b)<65 Then
Call 结束()
End If
ElseIf L>1 and L<3 Then
If UCase(Left(number(a),1))="F" Then
//判断字符串首字字符 < Left 函数:返回字符串最左边的指定数量的字符>
key(b)=Asc(UCase(Left(number(a),1)))+Right(number(a),L-1)+41
//< Right 函数:返回字符串最右边的指定数量的字符>
If key(b)<112 or key(b)>123 Then
Call 结束()
End If
Else
Call 结束()
End If
Else
Call 结束()
End If
a=a+1:b=b+1
//数组下标+1
Delay 10
Next
End Sub
这个是用按键精灵实现的,热键的话请不要设置组合键,没办法识别。其他字母和数字都没什么问题。