how to detect if the windows key is pressed?

3.9k views Asked by At

I would like to be able to detect when the windows Key is pressed. I tried with getasynckeystate function bug didnt found the right virtual key. thanks for your help !

3

There are 3 answers

1
ChrisF On

The key codes are given on the Keys Enumeration page:

LWin The left Windows logo key (Microsoft Natural Keyboard).
RWin The right Windows logo key (Microsoft Natural Keyboard).

It doesn't indicate whether either (if any) of these codes is obtained when using a keyboard other than the Microsoft Natural Keyboard.

If you are using WinForms then you need to trap the KeyDown Event

If you are using WPF then you need the Keyboard.KeyDown Event

0
Leniel Maccaferri On

Check this out:

Keys Enumeration

You're looking for these key codes:

LWin    The left Windows logo key (Microsoft Natural Keyboard).
RWin    The right Windows logo key (Microsoft Natural Keyboard).

Sample code:

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
0
Jim Mischel On

If you really want to use GetAsyncKeyState, the values you're looking for are defined in WinUser.h as VK_LWIN and `VK_RWIN': 0x5B and 0x5C, respectively.