Newsgroup: it.comp.lang.visual-basic
Titolo: Shutdown pc, disabilitare ctr-alt-canc etc...

So che è un argomento trito e ritrito e che forse sare te stufi di
rispondere a questi noiosissimi post, ma ho un estremo bisogno di alcune
informazioni.
1) Come faccio a disabilitare i tasti CTRL-ALT-CANC e le altre combinazioni
di winzozz?
2) Come faccio a spegnere il pc (indipendentemente dal sistema operativo?)
3) Come faccio a eleggere il mio programma come shell del sistema? (in w9x
no problem, ma in XP e 2000???)
4) Come faccio a far apparire la finestra di configurazione di un DSN Odbc
da programma?
Grazie.

 (in w9x no problem, ma in XP e 2000???)
Vedi google...

 > So che è un argomento trito e ritrito e che forse sare te stufi di

ho visto google... comunque per un a risposta del genere potevi anche far
senza rispondere

 far senza rispondere
Se hai cercato e trovato in google ho ottenuto lo scopo ed ho fatto bene a
risponderti imho!<BG>

>> combinazioni di winzozz?
Approfondiamo l'argomento.
Su Google, e anche sul sito comune, le risposte al riguardo, relativamente
ai sistemi NT, sono molto sconsolanti.
Sembra, quindi, che non ci sia modo di prendere il controllo del sistema (e
mi sembra anche giusto), se non, forse, mettendosi come shell.
In alternativa, però, possiamo pensare a qualcosa di assimilabile:
ad esempio, se l'obiettivo è quello di evitare il passaggio ad altre
applicazioni, direi che gestire il LostFocus della form, da rimettere in
primo piano appena dovesse nascondersi, potrebbe essere una soluzione.
Per il ctrl-alt-canc, possiamo gestire il queryunload, utilizzando il cancel
per impedire una chiusura brutale.
Rimane, e qui non saprei come fare, il discorso del Ctrl+Esc che richiama la
barra Start.
Immagino che altri abbiano avuto necessità analoghe, su ambienti NT, per cui
mi chiedo: possibile che l'unica risposta sia "non si fa"?
Ciao
Alberto

 cancel per impedire una chiusura brutale.
Il task manager di suo stà in primo piano quindi puoi terminare facilmente
qualsiasi applicazione imho! E così dev'essere: un sofware fatto girare con
privilegi di semplice user NON deve essere in grado di impedire ad un
amministratore di prendere il controllo della macchina!

Chiariamoci.
Ho cercato PRIMA del tuo brillante post.
Ergo ho fatto bene a scrivere che potevi anche far senza postare quel
simpatico messaggio.
[NUOVO MESSAGGIO]
Com'è possibile con sistemi 2000/NT/XP Eleggere il mio programma come shell?
(Nel system.ini non compare niente!!!)


E fin qua direi che siamo tutti d'accordo.
Il punto è leggermente diverso: in alcune applicazioni, tipicamente in roba
unattended in ambienti industriali, il PC deve fare da interfaccia utente,
visualizzare gli allarmi, ricevere qualche click, e basta.
Durante i turni di notte, gli operatori, convinti, attraverso questa
prodigiosa macchina, di poter giungere al Nirvana dei siti porno su
Internet, iniziano a intervenire pesantemente sul PC.
E' evidente che, finchè hanno in primo piano l'applicativo, sanno che devono
stare attenti perchè potrebbero far danni ai macchinari.
Appena il form se ne va in secondo piano o si chiude, ecco che la psicosi da
trafficone se ne spunta fuori e cominciano i casini.
In passato, questi sistemi erano fatti con W95 o W98. Nessun problema.
Adesso, alcuni clienti mi chiedono esplicitamente W2k. Posso resistere ben
poco, visto che a livello di stabilità effettivamente hanno ragione loro.
E comunque, se ci fosse modo di 'proteggere' il sistema dalle scimmiette
invasive, sarei io il primo ad essere contento di passare a W2k.
Ciao
Alberto

 shell? (Nel system.ini non compare niente!!!)
http://www.google.com/search?hl=en&ie=ISO-8859-1&q=shell+registry+key+explor
er.exe
Si proprio google... l'avresti detto?!?
Penso che la quinta voce possa fare al caso tuo dato che elenca una serie di
chiavi del registro di windows abbastanza interessanti! ;)
Anche l'ultima voce potrebbe essere utile...
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_1
0082631.html
Difficile cercare da soli vero? ;-)

 a W2k.
Se ti serve sostituire la shell di sistema leggiti la mia risposta a spugna,
altrimenti se si tratta di voler tenere il form sempre in primo piano (come
fa task manager ad esempio) ed impedire ai fenomeni di terminalo potresti
lavorare di api per il primo piano disabilitando i tasti per ridurre ad
icona il form... e creare un sistema che fa auto repawn se viene
terminato... nel query unload un bel shellexecute! ;-)
btw l'approccio corretto con sistemi NT based č lavorare sulle policy utente
imho togliendo loro la possibilitą di far qualsivoglia modifica al sistema!
;-)
hth

Grazie.
Sei un figo.

 Grazie.
Prego! ;-)

 Prego! ;-)
Questo si che si chiama quoting :)
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


per win 9x quando lo screen saver č attivo ctrl+alt+canc non funziona quindi
basta far credere al sistema che lo screen saver sia attivo cosě:
Private Const SPI_SETSCREENSAVERRUNNING = 97
Private Declare Function SystemParametersInfo Lib "user32" Alias
"SistemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef
lpvParam As Any, ByVal fu WinIni As Long) As Long
SystemParametersInfo SPI_SETSCREENSAVERRUNNING, True, ByVal 0&, 0
Spero di non aver commesso errori

 basta far credere al sistema che lo screen saver sia attivo cosě:
INTERESSANTE !!!!!!!
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As
Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_SETSCREENSAVERRUNNING = 97
Private Sub Form_Load()
Form1.Hide
SystemParametersInfo SPI_SETSCREENSAVERRUNNING, True, ByVal 0&, 0
'SystemParametersInfo SPI_SETSCREENSAVERRUNNING, False, ByVal 0&, 0
End Sub
Comunque blocca anche altre cosenon solo ctrl+alt+canc ....
--
Fosco


che cosa?

 che cosa?
Beh intanto un programma fatto da me in VB che "hoocka"
la Keyboard
Non c'e la possibilita' di renderlo visibile/invisibile attraverso
una sequenza della keyboard
Alcuni tasti come Winkey Alt Ctrl ecc
--
Fosco