2016-11-07 2 views
-1

私が0〜9の間でalt +数字を押しているときにチェックするスクリプトが必要です。 スクリプトは、押した数値を変数に保存する必要があります。AutoHotKeyは数字キーを検出します

!1:: var = 1 
!2:: var = 2 
!3:: var = 3 
... 

(擬似コード)が、どのように私はALT +キーが押されるのをチェックしますか:私はあなたのようなものを使用することができます知っていますか?そして、どのようにして数値キープレスを変数にするのですか?

注:私はこのような何かしたい:だけ明確にすること

!number:: var = number 

を、コードが私の作品は罰金書きましたが、それは、単一のラインコードに圧縮することができれば、私は思ったんだけど。

+0

を動作するようです。あなたが何を求めているのか分かりません。 – 2501

+0

私のコードはうまく動作しますが、2番目の例で示したようにコンパクトにできるかどうか疑問に思っていました。 – user2173361

+0

できると思います。 Hotkeyコマンドのドキュメントを参照してください。 – 2501

答えて

1

これはあなたのコードが既にやっている正確に何である

停止、実行中のスクリプトキーF12

Loop, 10 
    HotKey, % "~*" A_Index - 1, KeyDetect 
return 

KeyDetect: 
    If (A_ThisHotkey = "") 
     Return 
    mods := "Alt" 
    prefix := "" 
    Loop, Parse, mods, | 
     if GetKeyState(A_LoopField) 
      prefix .= A_LoopField " + " 
    if (!prefix && !ShowSingleKey) 
     return 
    key := SubStr(A_ThisHotkey, 3) 
    if (key = " ") 
     key := "Space" 

    MsgBox, % prefix key ; Test Message (Result) 
return 

F12::ExitApp, 0 
+0

これは実際に意図的に機能します。それはより複雑で長くなりますが。しかし、awnserに感謝します。私は、この仕事を完了させるための単数または2行のコードはないと思います。しかし、これは右のawnserと私が探していたものです。 – user2173361

関連する問題