PDA

Visualizza versione completa : [C - C++] Intercettare spegnimento


NS-1
11-07-2005, 11.59.09
Ciao a tutti,
in ufficio dove lavoro c'è una persona molto sbadata che si dimentica a fine giornata di trasferire tutti i file sul server...

Richiesta del datore di lavoro:
potresti fare che quando spegne il pc gli appaia un promemoria?


Adesso io chiedo a voi, come intercetto lo spegnimento del sistema?

Riesco ad inserire un semplice messaggio prima che appaia il form di spegnimento del pc?

grazie

Ns-1

NS-1
11-07-2005, 13.23.26
ci sarà qualcosa di più pulito che monitorare le coordinate del mouse e intercettare il click... o no?

Sergio Neddi
11-07-2005, 13.34.58
Se non erro Windows XP ha la possibilità di mandare in esecuzione uno script alla chiusura del sistema, ma non ho mai provato e quindi non so se funziona e non mi ricordo come ci si arriva...

...so di essere di aiuto nullo, ma stasera se riesco provo a darci un'occhiata.

NS-1
11-07-2005, 14.29.36
Ok, :D:D:D:D, grazie mille...

Semi.genius
11-07-2005, 15.23.57
PEr fare un arresto motivato basta digitare:
shutdown -s -c "commento" -t "intervallo di tempo per la finestra"

(logicamente senza le virgolette e con un tempo in secondi:P)
Però non so come programmarlo per ogni spegnimento..o si fa magari un collegamento sul desktop e lo si spegne con quello oppure con
shutdown -i

si può pianificare i messaggi per ogni spegnimento.
Non ti resta che provare

Sergio Neddi
11-07-2005, 21.49.22
Mi sa che avevo bevuto oppure mi confondo con non so che, ma l'opzione che speravo di trovare non l'ho trovata.

NS-1
12-07-2005, 12.27.47
...da gpedit.msc ho trovato qualcosa...

ma subito dopo aver eseguito lo script il pc continua con lo shutdown...

Sergio Neddi
12-07-2005, 13.15.04
Infatti proprio in gpedit.msc lo avevo cercato... mi sa che sono proprio addormentato.

Si, comunque, dopo l'esecuzione dello script il PC continua lo shutdown.

Non so se è possibile metterlo in sospeso tenendo in esecuzione lo script oppure se c'è un comando per annullarlo finché non viene eseguita una determinata operazione... comunque sia la vedo dura.

LoryOne
12-07-2005, 16.16.10
Fai una ricerca di questo messaggio WM_QueryEndSession su Google.
Quando Windows viene chiuso, il messaggio viene aggiunto alla coda dei messaggi intercettati da ogni finestra attiva sullo schermo.
Ricorda che qualunque oggetto in Windows è una finestra, quindi anche il tuo applicativo.
Se anche una sola delle finestre intercettasse il messaggio (in C/C++ è di una facilità estrema) in modo da interrompere la coda, allora il S.o. interromperebbe immediatamente lo spegnimento...

NS-1
13-07-2005, 08.38.08
Grazie Lory,
come sempre sei un grande...

(D)

Ns-1