Oppure

Loading
16/09/09 9:16
camaleonteplus
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?
aaa
16/09/09 21:27
camaleonteplus
Con questo codice riesco a riavviare il PC ma vorrei un messaggio che mi permetta di confermare il riavvio come posso modificare il codice?
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not ExitWindows(EW_RestartWindows, 0) then
  ShowMessage('Un programma rifiuta di chiudersi.');
end;
aaa
16/09/09 21:51
gigisoft
vedi nell'help di Delphi la funzione MessageDlg, dovrebbe fare al caso tuo.

Ciao. :k:

Luigi
aaa
17/09/09 8:49
camaleonteplus
L'ho personalizzato cosi:

procedure TForm1.CambiaClick(Sender: TObject);
var
  buttonSelected : Integer;
begin
SysSetComputerName (PC.Text);
StatusBar.Panels[2].Text:='Nome PC Cambiato'
  // Mostri un dialogo di conferma
buttonSelected:= MessageDlg('Le Modifiche Diverrano Effettive Dopo Il Riavvio Del PC', mtWarning, mbOKCancel, 0);
  // Mostri il tipo di tasto selezionato
  if buttonSelected = mrOK then if not ExitWindows(EW_RestartWindows, 0)
if buttonSelected = mrCancel then ShowMessage('Cancel pressed')
then ShowMessage('Un programma rifiuta di chiudersi.');
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);
aaa
17/09/09 10:33
camaleonteplus
Adesso funziona ho modificato cosi il codice:

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