2011-02-05 24 views
2

私はWindowsのキーが押されたときに検出できるようにしたいと思います。私はgetasynckeystate関数のバグで正しい仮想キーを見つけられませんでした。 ご協力いただきありがとうございます!Windowsキーが押されたかどうかを検出する方法は?

+1

質問に正しくタグを付けてください。 C#またはVBを使用していますか?それはVB6またはVB.NETですか?どのバージョン? – Oded

答えて

1

キーコードはKeys Enumerationページに記載されています

LWinザ・は、Windowsロゴキー(マイクロソフトナチュラルキーボード)を残しました。
RWin正しいWindowsロゴキー(Microsoft Natural Keyboard)。

キーボードマイクロソフトナチュラルキーボード以外を使用する場合には、得られるいずれかのこれらのコードの(もしあれば)かどうかを示すものではありません。

あなたはリサイズを使用している場合は、あなたがトラップし、このKeyDown Event

あなたがWPFを使用している場合は、あなたが必要とするKeyboard.KeyDown Event

+0

コンソールアプリケーションの場合は、 'Console.ReadKey()'を呼び出して、返された 'ConsoleKeyInfo.Key'プロパティの値をチェックします。値は 'ConsoleKey.LeftWindows'と' ConsoleKey.RightWindows'です。 –

3

チェックアウトが必要です。

Keys Enumeration

あなたがしていますこれらのキーコードを探してください:

サンプルコード:

Public Sub TextBox1_KeyPress(ByVal sender As Object, _ 
    ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress 

    If (e.Key = Key.LWin Or e.Key = Key.RWin) Then 
     MsgBox("Pressed Windows Key") 
    End If 
End Sub 
1

あなたが本当にGetAsyncKeyStateを使用したい場合は、あなたが探している値がVK_LWINと `VK_RWIN」としてWINUSER.Hで定義されています:0x5Bと0x5Cをし、それぞれ。

関連する問題