AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schon wieder Shutdown XP

Ein Thema von CallmeMad · begonnen am 14. Mär 2003 · letzter Beitrag vom 9. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
CallmeMad

Registriert seit: 14. Mär 2003
Ort: HH
6 Beiträge
 
#1

Schon wieder Shutdown XP

  Alt 14. Mär 2003, 12:32
Hallo Leute,

ich habe schon einige Artikel über Shutdown gelesen, habe aber folgendes Prob : Wenn man WindowsXP runterfährt, geht es nicht, da meine Anwendung noch läuft.
Wie genau muss denn mein Code aussehen, damit Windows ordnungsgemäß runterfährt ??
CU Stefan
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 14. Mär 2003, 12:56
Kennst Du den schon? http://www.delphipraxis.net/viewtopic.php?t=56

Wichtig ist auch der 2. Beitrag von Daniel.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
CallmeMad

Registriert seit: 14. Mär 2003
Ort: HH
6 Beiträge
 
#3
  Alt 14. Mär 2003, 13:15
Ja,

ist doch aber nur, wenn ich Win XP aus meinem Progg heraus beenden will.
Das funzt auch...aber löst leider mein Problem nicht.
Oder doch... blick ich das nicht ??
CU Stefan
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 14. Mär 2003, 13:34
Oops, ich habe es falsch verstanden. Was für eine Anwendung hast Du denn geschrieben, weil Delphi diese Dinge eigentlich von selbst übernimmt und es normalerweise keine Probleme geben sollte.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
CallmeMad

Registriert seit: 14. Mär 2003
Ort: HH
6 Beiträge
 
#5
  Alt 14. Mär 2003, 13:44
Meine Anwendung ist absolut harmlos, kein Registry Zugriff, FTP oder Internet, einfach simpel.Sie landet im Tray mit Hilfe der RXLIB - Trayicon - Geschichte. Liegt aber nicht daran, auch wenn Das Form sichtbar ist, weigert sich mein Progg, dass Windows beendet wird.

Habe gelesen, dass Windows uber Fenster Handle nachfragt ob runterfahren kann. Aber wie sage ich in meinem Progg : Jau, kann'ste !
CU Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6
  Alt 14. Mär 2003, 13:51
WM_QUERYENDSESSION bekommst du von Windows geschickt, wenn es runterfahren will. Gibst du hier 0 oder FALSE zurück, dann bricht Windows das Runterfahren ab.

Aber ich habe schon von diversen TrayIcon-Komponenten gehört, dass sie das Beenden des Programms beim Runterfahren verhindern. Die aus der RXLib gehörte glaube ich dazu.

Du mußt es übrigens nicht deinem Programm sagen, sondern Windows!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
CallmeMad

Registriert seit: 14. Mär 2003
Ort: HH
6 Beiträge
 
#7
  Alt 14. Mär 2003, 14:14
Stimmt, aber wo gebe ich denn nun 0 oder false zurück ?
Nicht über canclose = true, denn dann fährt Windows runter, nur wenn die Anwendung beendet wird.
CU Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8
  Alt 14. Mär 2003, 14:22
Das hat mit dem Flag CanClose von TForm.CloseQuery nichts zu tun. Das ist eine Message, die du abfangen mußt.
Und desweiteren mußt du natürlcih TRUE oder eins zurückgeben, Windows soll ja weiter runterfahren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
CallmeMad

Registriert seit: 14. Mär 2003
Ort: HH
6 Beiträge
 
#9
  Alt 14. Mär 2003, 14:24
Schluchz....aber wie ????
CU Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10
  Alt 14. Mär 2003, 14:34
So jetzt nimmst du erst mal das Taschentuch, schnäuzt dir die Nase, trocknest deine Tränen und dann kuckst du dir mal den Code vom lieben Onkel Luckie an:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    procedure WMQUERYEBDSESSION(var msg: TMessage); message WM_QUERYENDSESSION;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMQUERYEBDSESSION(var msg: TMessage);
begin
  msg.Result := Integer(TRUE);
end;
Wenn du hier: msg.Result := Integer(TRUE); FALSE zurückgibst bricht Windows den Shutdown ab.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz