0

これが私の問題です。

Windows が Microsoft キーボードのショートカットを使用して行うように、音量を制御するための小さな音量制御スクリプトを作成しました。

私には3つの機能があります。2つは音量を制御し、もう1つはキーのホールド状態を制御して音量を上げたり下げたりします

これがコードです。

    ;//**************************************************
    ;// Volume Mouse Control
    ;//**************************************************
    VolumeUp(p_numberToDecrease, p_holdToDecrease = true)
    {
        Send {Volume_Up %p_numberToDecrease%} 

        if(p_holdtoDecrease)
        {
            VolumeHoldTreatment("Up")
        }
    }

    VolumeDown(p_numberToDecrease, p_holdToDecrease = true)
    {
        Send {Volume_Down %p_numberToDecrease%} 

        if(p_holdtoDecrease)
        {
            VolumeHoldTreatment("Down")
        }
    }

    VolumeHoldTreatment(p_treatment)
    {
        Count := 0  

        Sleep 300
        While GetKeyState(A_ThisHotkey,"P")
        {
            ++Count
            if(p_treatment == "Up")
            {   
                Send {Volume_Up %Count%}
            }
            else
            {
                Send {Volume_Down %Count%}
            }
            Sleep 25
        }
    }

↓のようにショートカット内のメソッドを呼び出すと、正しく動作します。

音量を上げたり下げたりできます。

キーを 300 ミリ秒以上押し続けると、音量が上昇/下降し続けます。

    XButton1:: VolumeDown(1)
    XButton2:: VolumeUp(1)

しかし、ミュートショートカットを追加すると↓

    XButton1 & XButton2:: Send {Volume_Mute}
    XButton2 & XButton1:: Send {Volume_Mute}

ホールド動作が正常に動作しません。保留動作を呼び出すには、Button1/2 を 2 回押す必要があります。なんで ?

ご協力いただきありがとうございます

4

1 に答える 1