2010-07-29 12 views

Respuesta

1

En realidad, las teclas como la tecla de Windows no tienen un valor ASCII. Solo las claves que son 'imprimibles' tienen un valor ASCII. Para detectar las teclas como la tecla de Windows usted tiene que utilizar eventos ya sea el KeyDown o KeyUp y utilizar el KeyCode para detectar qué tecla se pressed.KeyCode de esta clave es 93.

Ex: -

Private Sub txt_KeyDown (KeyCode As Integer, Shift As Integer) Si KeyCode = 93 Entonces MsgBox "93" End If End Sub

+1

http://forums.bit-tech.net/showthread.php?t=76247 Códigos de clave de Vitual: http://msdn.microsoft.com/en-us/library/ms645540 – NinjaCat

+0

Obtuve los códigos de tecla de la siguiente manera en mi teclado, izquierda ventanas = 91 y ventanas derechas = 92 – Gangadhar

2

Lo sentimos, se puede utilizar el KeyCode:

private void Form1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode != Keys.LWin && e.KeyCode != Keys.RWin) 
      MessageBox.Show("Hello " + e.KeyData.ToString()); 
    } 
+0

O 'Keys.RWin'. – Oded

+0

Ok, está arreglado. Gracias :) – Florian

+0

está bien, pero ¿cómo puedo desactivar la clave de Windows? – nectar

0

Estoy bastante seguro de que no tienen códigos ASCII, pero tienen códigos clave: VK_LWIN y VK_RWIN por el de la izquierda y la derecha.

Así por ejemplo, en Control.KeyDown obtendrá un KeyEventArgs que tiene una propiedad KeyCode que se puede comparar con Keys.LWin o Keys.RWin.

0

no hay un código ASCII porque el WinKey no es imprimible. Sin embargo, puede usar el código de tecla virtual de estas teclas as described in the msdn.

Cuestiones relacionadas