Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Riavvio
Forum - Delphi - Riavvio

Avatar
camaleonteplus (Normal User)
Pro


Messaggi: 95
Iscritto: 05/03/2009

Segnala al moderatore
Postato alle 11:16
Mercoledì, 16/09/2009
vorrei aggiungere al mio programma la funzione di riavvio con un avviso come fa windows quando si installano nuovi programmi tipo "vuoi riavviare il pc adesso" "Si NO"
avete per caso il codice?

PM Quote
Avatar
camaleonteplus (Normal User)
Pro


Messaggi: 95
Iscritto: 05/03/2009

Segnala al moderatore
Postato alle 23:27
Mercoledì, 16/09/2009
Con questo codice riesco a riavviare il PC ma vorrei un messaggio che mi permetta di confermare il riavvio come posso modificare il codice?
Codice sorgente - presumibilmente Delphi

  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   if not ExitWindows(EW_RestartWindows, 0) then
  4.   ShowMessage('Un programma rifiuta di chiudersi.');
  5. end;


PM Quote
Avatar
gigisoft (Member)
Guru


Messaggi: 696
Iscritto: 11/10/2008

Segnala al moderatore
Postato alle 23:51
Mercoledì, 16/09/2009
vedi nell'help di Delphi la funzione MessageDlg, dovrebbe fare al caso tuo.

Ciao. :k:

Luigi

PM Quote
Avatar
camaleonteplus (Normal User)
Pro


Messaggi: 95
Iscritto: 05/03/2009

Segnala al moderatore
Postato alle 10:49
Giovedì, 17/09/2009
L'ho personalizzato cosi:

Codice sorgente - presumibilmente Delphi

  1. procedure TForm1.CambiaClick(Sender: TObject);
  2. var
  3.   buttonSelected : Integer;
  4. begin
  5. SysSetComputerName (PC.Text);
  6. StatusBar.Panels[2].Text:='Nome PC Cambiato'
  7.   // Mostri un dialogo di conferma
  8. buttonSelected:= MessageDlg('Le Modifiche Diverrano Effettive Dopo Il Riavvio Del PC', mtWarning, mbOKCancel, 0);
  9.   // Mostri il tipo di tasto selezionato
  10.   if buttonSelected = mrOK then if not ExitWindows(EW_RestartWindows, 0)
  11. if buttonSelected = mrCancel then ShowMessage('Cancel pressed')
  12. then ShowMessage('Un programma rifiuta di chiudersi.');
  13. end;



Ma mi da questo errore:
[Error] Email.pas(482): Missing operator or semicolon

Che fa riferimento a questa riga:
buttonSelected:= MessageDlg('Le Modifiche Diverrano Effettive Dopo Il Riavvio Del PC', mtWarning, mbOKCancel, 0);

PM Quote
Avatar
camaleonteplus (Normal User)
Pro


Messaggi: 95
Iscritto: 05/03/2009

Segnala al moderatore
Postato alle 12:33
Giovedì, 17/09/2009
Adesso funziona ho modificato cosi il codice:

Codice sorgente - presumibilmente Delphi

  1. procedure TForm1.CambiaClick(Sender: TObject);
  2. var
  3.   buttonSelected : Integer;
  4. begin
  5. SysSetComputerName (PC.Text);
  6. StatusBar.Panels[2].Text:='Nome PC Cambiato';
  7.   // Mostri un dialogo di conferma
  8. buttonSelected := MessageDlg('Le Modifiche Diverrano Effettive Dopo Il Riavvio Del PC', mtWarning, mbOKCancel, 0);
  9.   // Mostri il tipo di tasto selezionato
  10. if buttonSelected = mrOK then if not ExitWindows(EWX_POWEROFF or EWX_FORCE,0)
  11. then if not buttonSelected = mrCancel then ShowMessage('Operazione Annullata');
  12. end;


PM Quote