PDA

Visualizza la versione completa : [C++] SendInput e necessitÓ di inviare il codice di rilascio pulsante


frarugi87
10-11-2007, 11:00
ho sviluppato un programma per simulare la pressione di alcuni tasti della tastiera. Come funzione uso la SendInput.

Il codice che ho usato Ŕ il seguente:



INPUT input;
KEYBDINPUT tasto;
unsigned int num_elem = 1;

input.type = INPUT_KEYBOARD;
tasto.wVk = 'C';
input.ki = tasto;
SendInput (num_elem,&input,sizeof(INPUT));


Il codice funziona. Per˛ devo anche aggiungere



tasto.dwFlags = KEYEVENTF_KEYUP;
input.ki = tasto;
SendInput (num_elem,&input,sizeof(INPUT));


per segnalare all'OS che il tasto Ŕ stato rilasciato? Oppure Ŕ superfluo? Grazie...

andbin
10-11-2007, 15:07
Originariamente inviato da frarugi87


INPUT input;
KEYBDINPUT tasto;
unsigned int num_elem = 1;

input.type = INPUT_KEYBOARD;
tasto.wVk = 'C';
input.ki = tasto;
SendInput (num_elem,&input,sizeof(INPUT));
In genere Ŕ buona norma azzerare la struttura e poi scriverci solo ci˛ che serve:

INPUT input;

ZeroMemory (&input, sizeof (INPUT));
input.type = INPUT_KEYBOARD;
input.ki.wVk = 'C';


Originariamente inviato da frarugi87
per segnalare all'OS che il tasto Ŕ stato rilasciato? Oppure Ŕ superfluo?Sarebbe chiaramente meglio simulare pressione, poi rilascio.

XWolverineX
10-11-2007, 17:56
Io penso sia superfluo altrimenti avresti avuto l'effetto del tasto eternamente premuto.

Loading