Newsgroup: it.comp.lang.visual-basic
Titolo: [?]Disabilitare CTRl+ESC in XP importante

Ho la necessita di bloccare il "tasto windows". Devo fare un programma in
cui il computer deve essere inacessibile, il prog si deve sbloccarsi con
l'inserimento di una password decisa all'avvio dell'aplicazione, per questo
mi serve bloccare il CTRL+ESC.
Se qualcuno puo aiutarmi accetto qualsiasi consiglio.
Grazie in anticipo

 ha scritto nel messaggio
news:T%2%b.30491$Kc3.9...@twister2.libero.it...

Puoi impostare il tuo programma come shell di Windows al posto di
Explorer.exe.
Poi, se vuoi avviare la shell normale, dopo l'accettazione della password
avvia Explorer.exe.
E' un'idea venuta al volo. Non ho fatto una prova ma dovrebbe funzionare.
Ora non ho molto tempo, ma più tardi vedrò di poter entrare meglio nel
dettaglio.
Ciao!
-- 
Esteban
www.seber.it
Questo post è stato scritto con bit riciclati.

 Explorer.exe.
Guarda ho i miei dubbi che funzioni..

 ha scritto nel messaggio
news:403e...@x-privat.org...


 Guarda ho i miei dubbi che funzioni..
Beh, pare proprio che funzioni!
Ho creato un'applicazione con un bottone per eseguire Explorer e un bottone
per eseguire RegEdit (per sicurezza).
Ho modificato nella chiave HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion\Winlogon
il valore Shell (="explorer.exe") con il nome della mia applicazione
(completa di path).
Ho fatto logoff/logon e al centro dello schermo è apparsa la mia
applicazione. Nessuna traccia del bottone start e nessun evento alla
pressione del tasto Windows o della combinazione di tasti Ctrl+Esc.
L'unico inconveniente ancora è la possibilità di premere Ctrl+Alt+Del che
mostra la solita finestra dalla quale è possibile eseguire un'altra
applicazione. Ma questo (l'esecuzione di un'altra applicazione) si può
nuovamente bloccare agendo sempre nel registro di sistema o (credo anche)
agendo sulle policies dell'utente.
Più tardi come detto entrerò nel dettaglio (se ancora servisse).


 darmi una mano... Vi posto il codice:
Dovresti compilarla con VC++ e poi dichiarare da VB le funzioni 
AreTaskKeysDisabled e DisableTaskKeys come fossero delle funzioni API, 
dove il nome della dll č quella che compilerai come detto sopra...

 dove il nome della dll è quella che compilerai come detto sopra...

 ma mi dà impossibile trovare l'ingresso della DLL, Dove sbaglio???
Quando si esportarano funzioni da VC a VB i nomi delle funzioni vengono
"decorati" automagicamente da VC con caratteri apparentemente random tipo @
e numeri. Per evitare che cio' avvenga basta creare un file di testo con
estensione .DEF da includere nel progetto VC prima di compilarlo.
Il file dovra' contenere:
EXPORTS [NomeLibreria]
    NomeFunzione1
    NomeFunzione2
    ...
    NomeFunzioneN
Nel tuo caso quindi:
----- inizio file CTaskKeyHookDll.def  -----
EXPORTS CTaskKeyHookDll
    AreTaskKeysDisabled
    DisableTaskKeys
----- fine file CTaskKeyHookDll.def  -----
Il nome della libreria si puo' omettere... (anzi non sono neanche sicuro al
100% che vada messo :P se non funziona toglilo -> prima riga EXPORTS e
basta)
hth,
Lokar
-- 
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
Statuto: 
http://www.it-lang-vb.net/docs/Statuto.txt
UGIdotNET - 
http://www.ugidotnet.org