2017-07-04 18 views
0

完全開示:私はこのスクリプトを書いていません。それを書いた人が退社した後、私はこれを改善しています。固定料金を追加するためのAutoHotkey機能の固定

このスクリプトは非常に簡単で、チケット番号を入力してから「ctrl + alt + insert」のキーコンボを使用すると、アカウントに「固定料金」と呼ばれるものを追加します。

アカウントに既に「固定料金」がある場合を除き、スクリプトは完全に機能します。その場合、自動ホットキーは機能しません。このスクリプトを書いた人の解決策は、別のキーコンボを割り当てて固定料金を追加することでした。

私はこれを行う簡単な方法、すなわち、キーコンボを強制的に実行するか、またはifステートメントを使用する必要があると思います。私はautohotkeys関数を書いたことはありません。autohotkeysの理解は非常に限られています。

私は、アカウントに既に別の固定料金がかかっているかどうかにかかわらず、以下のスクリプトをすべてのアカウントで動作させたいと考えています。

^!Insert:: 
     Send, !t 
     Send, !x 
     Send {Tab 3} 
     Send, 41025 
     Send, {Enter} 
     Send, !o 
     Sleep, 3000 
     Send !{c 3} 
    Return 
+0

もちろん、if文を使うことができますが、まずAやBをする必要があるかどうかを判断する方法を見つけなければなりません。これを行うには、AutoHotkeyでさまざまな方法があります。簡単な解決方法は、テキストフィールドにナビゲートしてその内容をクリップボードにコピーし、次にIf Clipboard = "fixed charge"のようにすることです。もっと洗練された方法は、[ControlGet](https: /autohotkey.com/docs/commands/ControlGet.htm)。これはいつも可能ではありません。 AHKウィンドウのスパイユーティリティを使用してチェックする必要があります。 PixelGetColorを使用すると本当にハッキリな方法があります... – Forivin

答えて

0

一つの選択肢かのことができますハイライト「固定電荷」はそのようなあなたのホットキーを前置きすることであると言うテキスト:

あなたがXを得ることができ、Yは、窓のスパイを使用して座標

^!Insert:: 
    click, 711, 431 
    clipboard = ; empty your clipboard 
    send ^a^c ; select all and copy 
    ClipWait, 0.25 ; wait for something to enter your clipboard 
    text := clipboard 
    If(InStr(text, "fixed charge")) 
    { 
     Send, !t 
     Send, !x 
     Send {Tab 3} 
     Send, 41025 
     Send, {Enter} 
     Send, !o 
     Sleep, 3000 
     Send !{c 3} 
    } 
Return 
これは、AutoHotkeyアイコンを右クリックすることで実行できます。

のシステムにハイライト表示できない場合は、自動ホットキーが変更されたものを見つける必要があります。 ControlGetのように、ファイルの変更を検出したり、別の方法でスクリプトを実行して社内ソフトウェアの出力を変更したりするなど、さまざまな方法があります。オートホットキーは科学と同じくらい芸術です。それを把握する最も簡単な方法は、壁に物を投げつけ、それが固まることを望むことです。

関連する問題