View Full Version : [C] Disabilitare la tastiera
Alhazred
30-07-2004, 18:47
Nel programma che sto sviluppando (per Windows NT), avrei bisogno che ad un certo punto non fosse possibile utilizzare la tastiera, esiste una funzione/API che la disabiliti e riabiliti quando voglio io?
capisco che mi vorresti picchiare :boxe: perche' non so risponderti e la mia domanda e' forse fuori posto, ma.......
cosa vorrebbe dire la tua sign?:confused: :ncomment:
Alhazred
30-07-2004, 21:16
Originariamente inviato da x110
capisco che mi vorresti picchiare :boxe: perche' non so risponderti e la mia domanda e' forse fuori posto, ma.......
cosa vorrebbe dire la tua sign?:confused: :ncomment:
La prima riga vuol dire "Nella città di R'lyeh il morto Cthulhu attende sognando", frase tratta dai libri di H.P.Lovecraft (Cthulhu è il mio avatar)
La seconda e terza riga è il motto che campeggiava sugli stendardi di Takeda Shingen, uno dei più grandi Signori della Guerra giapponesi. Il significato è "Veloce come il vento, silenzioso come la foresta, invasivo come il fuoco, fermo come la montagna"
se non ti rompo, di che nazionalita' sei?
Alhazred
31-07-2004, 15:38
Originariamente inviato da x110
se non ti rompo, di che nazionalita' sei?
Sono italiano, di dove dovrei essere?
Alhazred
31-07-2004, 21:12
Vi spiego qual'è il problema che sto cercando di risolvere.
Ho 2 processi che cooperano tra loro, uno deve ricevere un input dall'utente, l'altro si mette in attesa che il primo acquisisca questo input e glielo passi per elaborarlo. Fatto questo si scambiano i ruoli, ovvero il secondo accetta un input dall'utente e lo passa al primo che nel frattempo si è messo in attesa.
I due processi sono ogniuno in una finestra della console, se per sbaglio si digita un input quando è attiva la finestra del processo in attesa che gli vengano passati i dati dall'altro processo e non dall'utente, ciò che si è digitato per sbaglio viene inserito come input appena toccherebbe a lui interagire con l'utente.
Avevo pensato di mettere un fflush(stdin) subito prima che il processo si metta in attesa dell'input dell'utente in modo da svuotare il buffer, ma non funziona.
Avete qualche idea?
Alhazred
01-08-2004, 16:05
Ho pensato di selezionare automaticamente una finestra della console in modo che sia sempre attiva quella giusta, per fare questo ho intenzione di usare SetActiveWindow, ma per utilizzare questa API ho bisogno dell'HANDLE della console, come lo ottengo?
Alhazred
01-08-2004, 17:05
Per ottenere l'HANDLE alla console dovrei usare questo, giusto?
GetStdHandle(STD_OUTPUT_HANDLE);
Ho provato, ma non funziona, la console non viene attivata, resta in background (ho provato anche con SetForegroundWindow senza successo)
Intanto avete idee per lo svuotamento del buffer della tastiera?
Alhazred
02-08-2004, 13:51
Edit: ho sbagliato a postare :rolleyes:
Alhazred
04-08-2004, 19:48
Ho risolto con FlushConsoleInputBuffer(hInput);
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.