|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
[C] Disabilitare la tastiera
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?
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
capisco che mi vorresti picchiare
perche' non so risponderti e la mia domanda e' forse fuori posto, ma.......cosa vorrebbe dire la tua sign?
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
Quote:
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" |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
se non ti rompo, di che nazionalita' sei?
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
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? |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
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?
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
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? |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
Edit: ho sbagliato a postare
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1759
|
Ho risolto con FlushConsoleInputBuffer(hInput);
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:33.











perche' non so risponderti e la mia domanda e' forse fuori posto, ma.......








