Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - come capire se il pc sta per essere spento
Forum - C/C++ - come capire se il pc sta per essere spento

Avatar
giuseppe93 (Ex-Member)
Pro


Messaggi: 166
Iscritto: 02/08/2009

Segnala al moderatore
Postato alle 17:18
Mercoledì, 30/09/2009
Salve! esiste un metodo o semplicemente un API per capire se il pc dove gira il mio programma sta per essere spento o riavviato? E magari c'è anche il modo per interrompere l'operazione?

Grazie per l'attenzione!


:)
PM Quote
Avatar
NickoMaiden (Normal User)
Pro


Messaggi: 115
Iscritto: 10/06/2009

Segnala al moderatore
Postato alle 22:50
Mercoledì, 30/09/2009
cerco di risponderti ma non mi prendere troppo sul serio, potrei sparare un sacco di fesserie
partiamo dalla fase di spegnimento del pc:
windows cerca di chiudere le finestre aperte
siccome il normale spegnimento non è forzato, le applicazioni che non rispondono alla chiusura vengono segnalate ( la classica finestra con il tasto "Non Inviare")
e cliccando su "Non Inviare", e a quel punto avviene la chiusura forzata del processo.
quindi si dovrebbe individuare il processo di spegnimento prima che inizi, altrimenti potrebbe chiuderti il programma stesso.

per questo la situazione diventa complicata:
il programma deve bloccare qualsiasi azione del sistema operativo
controllare se è un'operazione di spegnimento
e lasciarla andare se non ha nulla a che fare con lo spegnimento, altrimenti bloccarla

il funzionamento come ben vedi è identico a zone alarm quando magari installi un programma e ti dice: "consentire la modifica del file ...." se metti allow l'azione verrà sbloccata e il file verrà modificato, se metti deny l'operazione verrà bloccata

questa è la mia idea, magari qualcuno riesce a fartelo anche in 2 righe
cmq io non ci sbatterei più di tanto, è un progetto troppo utopico


char segreto[100]={"Abaca da cala da ciaccia"};
for(int i=0;i<100;i++)
  {
  if(segreto[ i ]=='a'||segreto[ i ]=='A')
    {
    segreto[ i ]='u';
    }
  }
cout<<segreto;
system("pause");
return EXIT_SUCCESS;
PM Quote
Avatar
giuseppe93 (Ex-Member)
Pro


Messaggi: 166
Iscritto: 02/08/2009

Segnala al moderatore
Postato alle 21:03
Giovedì, 01/10/2009
anche io ho pensato all'avviso di windosw quando chiede di terminare un programma prima dello spegnimento però credo anzi spero che è qualcosa di più semplice di intercettare tutte le azioni del pc...


:)
PM Quote
Avatar
NickoMaiden (Normal User)
Pro


Messaggi: 115
Iscritto: 10/06/2009

Segnala al moderatore
Postato alle 22:24
Giovedì, 01/10/2009
spero di si anche se non credo...
si aspetta il responso di the programmer che di solito sa tutto asd


char segreto[100]={"Abaca da cala da ciaccia"};
for(int i=0;i<100;i++)
  {
  if(segreto[ i ]=='a'||segreto[ i ]=='A')
    {
    segreto[ i ]='u';
    }
  }
cout<<segreto;
system("pause");
return EXIT_SUCCESS;
PM Quote