Auf PC herunterfahren reagieren

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Solino
Beiträge: 11
Registriert: Do 27. Feb 2014, 13:18

Auf PC herunterfahren reagieren

Beitrag von Solino »

Hallo,

würde in einem Programm gerne auf das Ereignis "PC wird heruntergefahren" reagieren.

Hat jemand eine Idee wie das gehen könnte?

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Auf PC herunterfahren reagieren

Beitrag von Scotty »

Probier mal Application.OnEndSession - kann sein, dass das nicht auf allen Plattformen funktioniert.
http://lazarus-ccr.sourceforge.net/docs ... ssion.html

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Auf PC herunterfahren reagieren

Beitrag von Christian »

Das reagiert aber auf beenden des Programmes nicht des PCś.

Das herunterfahren des PCś kannst nur mitbekommen wenn dein Programm beim start des rechners gestartet wird und bis zum runterfahren aktiv bleibt. Das machen Services.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Auf PC herunterfahren reagieren

Beitrag von Michl »

Unter Win7 funktioniert bei mir folgendes Vorgehen:

- ein TApplicationProperties (Komponentenpalette Additional) auf das Formular platzieren
- Ereignis OnQueryEndSession auswerten z.B.:

Code: Alles auswählen

procedure TForm1.ApplicationProperties1QueryEndSession(
  var Cancel: Boolean);
begin
  if Application.MessageBox(
      PChar('Windows wird runtergefahren. Wollen Sie das zulassen?!'),
      'Zulassen(J/N)', MB_ICONQUESTION + MB_YESNO) = IDNO then
    Cancel:=True
  else
    Cancel:=False;
end;

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten