作者shyangs (丹丹)
看板EzHotKey
标题Re: [AHK-] 热键送出问题。这样写错在哪?
时间Sat Apr 17 17:05:21 2010
自己修改了一下,现在按 1 会跳出讯息视窗 b
q p
......
不过,有一个Bug,执行脚本後,
什麽键都还没按,就会马上跳出一个讯息视窗,为什麽?
;调用函式库,下载网址与用法请见
;http://www.autohotkey.com/forum/topic14881.html
#Include AHKA.ahk
;创造两个阵列
AHKA_SetDebug(false)
arrBoPoMo := "[1,q,a,z,2,w,s,x,e,d,c,r,f,v]"
arrPinyin := "[b,p,m,f,d,t,n,l,g,k,h,j,q,x]"
AHKA_SetDebug(true)
length := AHKA_Size(arrBoPoMo)
index := 0
;改变键盘对应
SendKey(Pinyin)
{
MsgBox, %Pinyin%
; Send %Pinyin%
}
Loop, %length%
{
index = %A_Index%
BoPoMo := AHKA_Get(arrBoPoMo, index)
HotKey %BoPoMo%, Hoty
}
Return ;为什麽必须要这个Return
Hoty:
index := AHKA_Find(arrBoPoMo,A_ThisHotkey)
Pinyin := AHKA_Get(arrPinyin, index)
SendKey(Pinyin)
Return
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.114.192.127
※ 编辑: shyangs 来自: 58.114.192.127 (04/17 17:07)
1F:推 arj32:在Hoty:上面加一行return 04/17 20:30
2F:→ arj32:你写的非常漂亮 我之前没想到用A_ThisHotkey 04/17 20:43
谢谢,问题解决了。
但为何必须要加 Return ,我的 Loop 有限定次数了啊
※ 编辑: shyangs 来自: 58.114.192.127 (04/17 21:19)
3F:→ arj32:他执行到了最后一行,因为lable不会让他停下来 04/17 21:28
4F:→ arj32:你去看一下help的the Auto-execute Section 04/17 21:32