0

以下の方法を使用してCAPS、NUM、およびSCROLLロックを切り替えることができましたが、ボタンをクリックしてもエラーは発生しませんが、以下のコードを使用して何も起こりませんか?

caps、num、scroll で機能するコード

Private Sub imgCONTROL_Click(sender As System.Object, e As System.EventArgs) Handles imgCONTROL.Click
    Call keybd_event(System.Windows.Forms.Keys.ControlKey, &H14, 1, 0)
    Call keybd_event(System.Windows.Forms.Keys.ControlKey, &H14, 3, 0)
End Sub

動作しないコードです。Alt、AltKey などのすべてのバリエーションを試したことに注意してください。

Private Sub imgCONTROL_Click(sender As System.Object, e As System.EventArgs) Handles imgCONTROL.Click
    Call keybd_event(System.Windows.Forms.Keys.Alt, &H14, 1, 0)
    Call keybd_event(System.Windows.Forms.Keys.Alt, &H14, 3, 0)
End Sub

誰かが解決策を持っているなら、私はとても感謝しています。

4

1 に答える 1

0

注:この回答はテストされていません。それは問題への素早い刺し傷です。

CAPS、NUM、およびSCROLLロックキーは、押して放すと切り替わります。

Ctrlキー、Altキー、およびShiftキーを押すとオンになり、離すとオフになります。コードはキーを即座に押して放します。画像がクリックされるたびにキーを切り替えるコードを記述する必要があります。

Private Sub imageALT_Click(sender As Object, e As EventArgs) Handles imgALT.Click
    ' Toggle key state to pressed or released.
    Dim Static State As Boolean = False
    State = Not State
    ' Set the flags to press or release.
    Dim Flags As Integer = 1 ' KEYEVENTF_EXTENDEDKEY
    If State Then Flags = Flags Or 2 ' KEYEVENTF_KEYUP
    ' Press or release the key.
    Call keybd_event(System.Windows.Forms.Keys.Alt, &H14, Flags, 0)
End Sub
于 2011-12-06T00:18:20.123 に答える