2012-07-15 11 views
7

abbiamo 2 CTRL/ALT/SHIFT pulsanti sulla nostra tastiera. Ma ci sono VK_CONTROL/VK_LCONTROL/VK_RCONTROL disponibili nel win api. Quindi quale valore è predefinito per VK_CONTROL?VK_LCONTROL (a sinistra) o VK_RCONTROL (a destra)? O forse ha valore a seconda di qualche situazione? Non riesci a trovare la risposta né in MSDN né in Google.Valore predefinito per VK_CONTROL/VK_MENU/VK_SHIFT

Penso che non importi in relazione a CTRL - sono alternati, ma fa la differenza con per es. ALT.

+0

sguardo per essa in intestazione windows.h – Blablablaster

+2

'VK_CONTROL' significa" nessuno dei tasti di controllo è inattivo (non lo dirò h uno) ". –

risposta

7

testo da Winuser.h:

VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
Used only as parameters to GetAsyncKeyState() and GetKeyState().
No other API or message will distinguish left and right keys in this way.

+0

ma come posso vedere lì i tre hanno tre valori diversi. Inoltre, SendInput() distingue sinistra e destra. Per esempio. nella mia lingua non posso scrivere una lettera usando ALT a sinistra ma sono in grado di farlo usando l'ALT di destra, e con SendInput quando invio ALT a sinistra non stampa cosa dovrebbe, ma con ALT a destra. – tobi

+1

Hai ragione, quel commento dall'intestazione è USA-centrico. Le ALT sinistra e destra sono trattate come chiavi separate anche sulle tastiere britanniche, sebbene SHIFT e CTRL non lo siano. Più precisamente, cosa vuoi veramente fare? – arx

+0

Sto permettendo agli utenti di inviare del testo usando SendInput() (con alcuni tasti speciali come ctrl, alt ecc.), E mi chiedo se dovrei permettere agli utenti di usare i tre valori per ctrl e alt o meno, ma io penso che sia più una discussione che un formato di domande e risposte. – tobi

2

Per quanto posso dire queste costanti sono dichiarate nel Winuser.h

#define VK_LSHIFT   0xA0 
#define VK_RSHIFT   0xA1 
#define VK_LCONTROL  0xA2 
#define VK_RCONTROL  0xA3 
#define VK_LMENU   0xA4 
#define VK_RMENU   0xA5 
+0

ma VK_CONTROL è 0x11, quindi è diverso da quelli precedenti. Ma non abbiamo 3 CTRL sulla tastiera. – tobi