Autohotkey
#1::
run vs.exe
return
#2::
run tool.exe
return
#3::
run xtool.exe
return
#4::
run source.exe
return
#5::
run daikairibao
return
#q::
Send ^v
return
_SendRaw(Keys) {
Len := StrLen(Keys) ; 得到字串的長度,注意一個中文字元的長度是2
KeysInUnicode := "" ; 將要發送的字元序列
Char1 := "" ; 暫存字元1
Code1 := 0 ; 字元1的ASCII碼,值介於 0x0-0xFF (即1~255)
Char2 := "" ; 暫存字元2
Index := 1 ; 用於迴圈
Loop {
Code2 := 0 ; 字元2的ASCII碼
Char1 := SubStr(Keys, Index, 1) ; 第一個字元
Code1 := Asc(Char1) ; 得到其ASCII值
if(Code1 >= 129 And Code1 <= 254 And Index < Len) ; 判斷是否中文字元的第一個字元
{
Char2 := SubStr(Keys, Index+1, 1) ; 第二個字元
Code2 := Asc(Char2) ; 得到其ASCII值
if(Code2 >= 64 And Code2 <= 254) ; 若條件成立則說明是中文字元
{
Code1 <<= 8 ; 第一個字元應放到高8位上
Code1 += Code2 ; 第二個字元放在低8位元上
}
Index++
}
;; MsgBox %Code1%
if(Code1 <= 255) ; 如果此值仍<=255則說明是非中文字元,否則經過上面的處理必然大於255
Code1 := "0" . Code1
;;; KeysInUnicode = "" ;;; 若發現送出的中文變成ASCII數值,把此行開頭的分號刪掉
KeysInUnicode .= "{ASC " . Code1 . "}"
if(Code2 > 0 And Code2 < 64) {
Code2 := "0" . Code2
KeysInUnicode .= "{ASC " . Code2 . "}"
}
Index++
;;; Send %KeysInUnicode% ;;; 若發現送出的中文變成ASCII數值,把此行開頭的分號刪掉
if(Index > Len)
Break
}
Send % KeysInUnicode ;;; 若發現送出的中文變成ASCII數值,把此行開頭加上分號
Return ""
} ;; _sendRaw
#w::
_SendRaw("版本:")
Send !{Enter}
_SendRaw("模型:")
Send !{Enter}
_SendRaw("画面:")
Send !{Enter}
_SendRaw("部品:")
Send !{Enter}
_SendRaw("手顺:")
Send !{Enter}
_SendRaw("现象:")
Send !{Enter}
_SendRaw("期待:")
return