Newsgroup: it.comp.lang.delphi
Titolo: Applicazione "blindata"

Ciao a tutti,
per fronteggiare il solito problema dei colleghi d'ufficio che caricano
sulle macchine di tutto con la conseguenza di scoprire di tanti in tanto un
virus sfuggito ai non sempre aggiornati AV e dopo aver accantonato l'idea di
un programma che si limitasse a registare il loading in memoria di ogni
applicazione, ho pensato che una buona soluzione potrebbe essere quella di
un laucher personalizzato che permetta appunto l'esecuzione dei soli
programmi installati e consentiti.
Ho realizzato cosi' una form senza titolo e senza tasti di chiusura,
contenente tanti pulsanti qyuante sono le applicazioni consentite piu' altri
due pulsanti speciali: Fine e Manutenzione.
Il primo serve per terminare il lavoro e spegne il PC, il secondo serve per
terminare il launcher e andare allo Shell di Windows in modo da aggiungere
altre applicazioni al launcher o comunque effettuare la manutenzione del PC.
Dopo questa lunga premessa la domanda: come posso blindare il launcher in
modo che l'utenre non abbia accesso al tasto START, alla combinazione
ALT+F4, alla barra delle applicazioni, alla combinazione ALT+TAB (da cui
vorrei far sparire il mio programma che ho gia' eliminato dal Task List) e a
tutte le altre vie che vorrete indicarmi atte a consentire un utilizzo "non
consentito" del PC?
In un thread di qualche tempo fa ho letto qualcosa che si avvicinava a
quanto vorrei realizzare e si faceva l'esempio dell'applicazione utilizzata
nei noleggi di videocassette  o nelle fiere in autodemo.
Gli utenti che dovrei scoraggiare non sono grandi esperti e quindi potremmo
tralasciare le vie piu' macchinose e quelle da veri intenditori, anche se
concordo con chi certamente suggerira' che e' meglio abbondare...
Grazie in anticipo per il vostro gradito contributo.
Umberto

L'unico vero problema è il sistema su cui stai lavorando. Se sei in Win
allora sei nei guai. Almeno che tu non abbia a che fare con una masnada di
polli. Possibile. In ogni caso cerca "OnClose Event" dalla form e setta
canclose:=false; per il Alt+f4, per il Alt+Tab devi nascondere la app dal
task di win e questa lo hai già fatto. Il resto è talmente macchinoso e
talmente poco produttivo (va a chiudere bug di sistema che chi ne conosce
l'esistenza, sicuramente sa come bypassare un programma) che non valgono la
pena. Fammi sapere.
=)
Simo
Umberto Di Gioia ha scritto nel messaggio ...


 pena. Fammi sapere.
Diciamo che per stare abbastanza tranquillo dovrei impedire l'uso del tasto
START; hai informazioni in merito?
Ti ringrazio per l'interessamento e per le indicazioni. Spero di riuscire a
realizzare qualcosa che possa essere utile anche ad altri, sempre che
funzioni ;-)
Umberto

"Umberto Di Gioia" ha scritto nel messaggio
| Si, ma appare ancora nella task bar. Non sono sicuro delle donominazioni,
| ma credo che la task bar sia lo spazio alla destra del tasto START
| e la task list quella che richiami con ALT+TAB; se cio' e' vero, allora
| il mio launcher e' invisibile alla task list, ma appare nella task bar.
| Come completo l'opera?
|
procedure MostraTaskbar(Visibile: boolean);
var
  hFinestraTaskBar : HWnd;
begin
  hFinestraTaskBar := FindWindow('Shell_TrayWnd',nil);
  if hFinestraTaskBar <> 0 then
    if Visibile then
      ShowWindow(hFinestraTaskBar, SW_SHOW)
    else
      ShowWindow(hFinestraTaskBar, SW_HIDE)
end;
Passando false la taskbar scompare dal desktop, true rispristina invece il
normale stato della finestra.
| Diciamo che per stare abbastanza tranquillo dovrei impedire l'uso del
| tasto START; hai informazioni in merito?
|
{Abilita il tasto START }
EnableWindow
(FindWindowEx (FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), true);
{Disabilita il tasto START }
EnableWindow
(FindWindowEx (FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), false);
Ciao.
---------------------------
ACSH
WOMEN.ZIP: A great program, but it doesn't come with documentation
WOMAN.ZIP: Great Shareware, but be careful of viruses ...

ma appare nella task bar. Come completo l'opera?
sgancia la form dall'Application settandone il parent a 0, dopodichè 
nascondi l'Application

Ottimi suggerimenti: funzionano alla perfezione. Grazie.
Saresti cosi' gentile da risolvere anche il problema ALT+TAB che credevo di
avre gia' risolto quando invece mi riferivo alla combinazione CTRL+ALT+CANC
?
Una conferma: per intercettare ALT+F4 basta porre false al parametro passato
nell'evento relativo al messaggio Win di "posso chiudere l'applicazione" ?
Grazie ancora.
Umberto

"Umberto Di Gioia" ha scritto nel messaggio
Scusa il ritardo nelle risposte.
| Ottimi suggerimenti: funzionano alla perfezione. Grazie.
Grazie non ha me, ma alla comunita' Delphi in giro per Internet.
Io ho solo usato (e italianizzato) consigli di altri.
Per il resto, ci vediamo nelle risposte all'altro messaggio.
Ciao.
ACSH
---------------------------
La fine del mondo sta per arrivare ...
salvate i documenti aperti!