Newsgroup: it.comp.programmare.win32
Titolo: Intercettare la pressione dei tasti

Ciao a tutti.
Il problema è il seguente : una volta scritto il codice per intercettare la
pressione dei tasti "caldi" di Win (es : CTRL+ALT+CANC), come si può fare
per inibire l'evento che tale pressione genera?
Mi spiego : CTRL+ALT+CANC fanno apparire (se premuti una volta) la task
window.
Ora,  intercettarne la pressione è un giochino da ragazzi. Come posso fare
ad impedire che compaia la task win?
N.B. : Ovviamente quello in oggetto è solo un esempio tra tanti (potrei
considerare anche la pressione di ALT+F4, o Ctrl+ESC...)
Grazie a tutti
Alessio
#define __TRUE "C is Better"

"#define" <a@b.c> ha scritto nel messaggio
news:CLln7.30428$ul3.1...@news.infostrada.it...
P.S. : ho provato a cercare su MSDN ma non ho trovato un bel niente, al di
là di un link non funzionante...


> Mi spiego : CTRL+ALT+CANC fanno apparire (se premuti una volta) la task
per disabilitare quei tast(possibilile solo su 98 e 95 ) puoi usare un api
che,se non sbaglio non ha documentazione, trovi esempio su qualsiasi sito
per vc 
www.codeguru.com
per vb 
http://www.vbsquare.com/
sono 2 dei tanti

 per vc 
www.codeguru.com
Ok... Sono stato su 
codeguru.com
, ma (perlomeno per quel che ho trovato) ho
potuto constatare che esistono esempi solo sul "keypress intercept"...
Niente sulla disabilitazione... Come posso fare?
Ciao e grazie a tutti
Alessio

Prova ad usare l'api SystemParameterInfo con i parametri :
uiAction = SPI_SETSCREENSAVERRUNNING
uiParam = 1 x disabilitare i tasti, 0 x abilitarli
pvParam = 0
fWinIni = 0
in pratica fai credere al sistema che ci sia lo screen saver attivo, e la
gestione dei tasti "sensibili" viene fatta a basso livello.
Prova e fammi saxe !
Ah, ovviamente solo su Win9x...NT e 2000 è tutta un'altra storia...si usa la
dll GINA ed è un macello....

 dll GINA ed è un macello....
Ma su NT e 2000 non si può installare l'hook per la pressione dei tasti in
low-level (KEYBOARD_LL)?
In questo modo l'applicazione processa i messaggi prima di windows, e si può
in questo modo evitare che il SO faccia apparire la finestra del TASK (o che
comunque processi il messaggio).... Naturalmente questo è vero solo se non
ho detto una grande cavolata (cosa peraltro molto probabile visto la mia
scarsa esperienza)
Ciao

 comunque processi il messaggio)...
Aspetta aspetta... che č sta storia del KEYBOARD_LL??
Cercavo giusto giusto una cosetta del genere. Inoltre il programma lo devo
realizzare sotto piattaforma W98...
Lě un trucchetto del genere funziona?
Puoi spiegarmi meglio?
Grazie
Alessio

 Puoi spiegarmi meglio?
Mi dispiace, ecco cosa riporta MSDN su SetWindowsHookEx:
WH_KEYBOARD_LL Windows NT/2000 or later: Installs a hook procedure that
monitors low-level keyboard input events. For more information, see the
LowLevelKeyboardProc hook procedure.
Quindi č compatibile solo con Windows2000 e NT. Ho provato a utilizzare
questo flag nel 98, ma non funziona.
Forse potresti con una WH_CALLWNDPROC che monitora i messaggi prima che
arrivino al SO.
Perņ questo rallenta molto il sistema, da quanto riporta la MSDN. Io,
personalmente, non sono MAI riuscito a farlo funzionare questo tipo di Hook,
mi va sempre in crash tutto.....
Ciao