2017-09-10 13 views
2

私はドキュメントを読んでチュートリアルを見ましたが、私は完全な初心者ですので謝ります。私は結果を出さずにこれを行うためにかなり長い間試してきました。Ableton問題をクリックして制御しようとしています

私はAbleton Liveのグローバル録音ボタンを押すのにNUMPAD0キーを使用したいと思いますが、マウスの座標(1)を使用したくありません。記録する必要があるときにウィンドウが最小化される可能性があります。これを将来的に実装して、個々のトラックの録音ボタンを作成する際に録音ボタンを押すことができます。たとえば、1〜80の新しいトラックなどがあります)

Windowsクラスが動的に変更されます制御IDはwinspyで表示されません。

これは私がやっているものです:

GroupAdd, Live, ahk_class 
Afx:0000000140000000:0:0000000000000000:0000000000900015:00000000007A04C3 
GroupAdd, Live, ahk_class 
Afx:0000000140000000:0:0000000000000000:0000000000900015:0000000000200651 
GroupAdd, Live, ahk_class 
Afx:0000000140000000:0:0000000000000000:0000000000900015:0000000000290651 
GroupAdd, Live, ahk_class 
Afx:0000000140000000:0:0000000000000000:0000000000900015:00000000001E05F1 

curMode := 1 
return 


Numpad0:: 
SetControlDelay -1 
controlclick, ahk_group Live0,,,,,NA 
return 

をだから、私の問題は、これらのされている:1. GROUPADDコマンドでは、私は私が見てきたウィンドウクラスを入れている、まだ私はそれ以上のクラスがあるかもしれないと考えています私は新しいAbletonウィンドウを開くたびに表示されます。コントロールのクリックコマンドでは、私はそれを見つけることができなかったので、コントロールIDを置かないでください。

このコードを終了して別のコードに変更して、座標を使わずにAbletonのレコードボタンを押す方法についてのアドバイスはありますか?

EDIT: これはコードイムは、今しようとの提案に従うが、私はまだ何も結果得haventは次のとおりです。

SetTitleMatchMode, Regex 
SetTitleMatchMode, Slow 

#IfWinActive, .*als 
Numpad0::F9 
#IfWinActive 
return 

そして、これは、その2バージョンで、作業のいずれか

SetTitleMatchMode, Regex 
SetTitleMatchMode, Slow 

#IfWinActive, Afx:0000000140000000 
Numpad0::F9 
#IfWinActive 
return 
されていません
+0

プログラムは、このボタンのほか、世界的な記録のためのキーボードショートカット(マニュアルに見える)、またはメニュー項目を持っていませんか?グループの代わりに、 'SetTitleMatchMode、RegEx'を使用し、ControlClickコマンドのウィンドウのクラスの一部のみを使用できます。 – user3419297

+0

はい、それは終了しますが、私はnumbadから録音するためにグローバルではなく個々のトラックも設定したいので(数字キーにはデフォルトのホットキーがない)、数字パッドに入りたいと思います。これは少なくとも、グローバルな録音をやり遂げるためにやっていることですが、結果はまだありません。 (私はnumpad0のためにデフォルトの録音ホットキーであるF9キーを交換しました)。今私はコードImを投稿するために私の質問を編集しました! –

+0

この場合、 '#IfWinActive、ahk_class Afx:0000000140000000'が正しい構文です。 SendまたはControlSendコマンドも試してください。 – user3419297

答えて

0

私はGroupAddを使用したことがありませんが、有限個のクラス置換がある場合は、それらに対してRegExMatchと表示され、グループ内にグループを形成できます。 GroupAdd仕様では、GroupName以外のすべてのパラメータを任意にするように思われるので、適切なウィンドウがあることを確認した後にクラス宣言をスキップすることができます。

例:

WinGetTitle, Title, A 
WinGetClass, Class, A 
if (RegExMatch(Title, "Ableton Live.*") AND (RegExMatch(Class, "(AbletonClass1|AbletonClass2|AbletonClass3)"))) 
{ 
    ; Do stuff 
} 
+1

ありがとう、私はそれを動作させることができた。私は代わりにexe名を使用してそれを行い、それは働いた。私はそれを少し変えましたが、まだそれは私に非常に良いスタートを与えました。助けてくれてありがとう! –

+0

@A.R.Leon大歓迎です。うれしかったよ!あなたがしばらくすると、これを答えとして受け入れるか、自分自身で提出して、未回答の質問が流通しないようにしてください。 :) –

+0

ヘイ・デイヴィッド!私はちょうどチェックマークを押して、それは緑色になった。私はそれが答えを受け入れる方法だったことを読んで、うまくいけば私はそれを正しくした! –

関連する問題