AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Programm verhindert Windows-Shutdown/-Logoff
Thema durchsuchen
Ansicht
Themen-Optionen

Programm verhindert Windows-Shutdown/-Logoff

Ein Thema von CalganX · begonnen am 18. Mär 2006 · letzter Beitrag vom 18. Mär 2006
Antwort Antwort
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Programm verhindert Windows-Shutdown/-Logoff

  Alt 18. Mär 2006, 21:55
Hi,
ich war eigentlich der Meinung schonmal die Frage gestellt zu haben, aber kann den Thread einfach nicht wieder finden und damals gab es auch keine Antwort.

Mein Problem ist, dass mein schöner WallpaperChanger den Herunterfahr-Vorgang bzw. das Ausloggen verhindert. D.h. alle anderen Programme beenden sich brav, nur meine Software bleibt offen und Windows fährt nicht herunter.
Ich habe mich jetzt stundenlang nach der Ursache durch den Code und fast alle Komponenten gewühlt, konnte aber keinen Fehler finden.

Ich habe ursprünglich die Komponente TJvTrayIcon, die ich für die Anzeige des TNA-Icon verwende, verantwortlich dafür machen wollen, aber nachdem ich mehrmals die Komponente deaktiviert habe und es in anderen Anwendungen zu keinen Problemen kommt, scheint diese Komponente nicht der Übeltäter zu sein. Andere 3rd Party-Komponenten verwende ich eigentlich nicht.

Also dachte ich, dass ich irgendwo vergessen habe, auf Nachrichten zu reagieren, aber ich fange in meinem Hauptformular nur die WM_DROPFILES-Nachricht ab. An anderer Stelle habe ich mir aber ein Handle erzeugt und eine dazugehörige WndProc geschrieben:
Delphi-Quellcode:
procedure THotkeyItem.MsgProc(var msg: TMessage);
begin
  // Nachrichtenschleifen
  if msg.Msg = WM_HOTKEY then
    if Assigned(FOnHotkey) then
      fOnHotKey(self, self.Name)
  else
    DefWindowProc(FHandle, msg.Msg, msg.WParam, msg.LParam);
end;
Eigentlich sollte die doch alles wichtige, durch das DefWindowProc abdecken, oder nicht?


Ich bin gerne bereit weitere Teile des Source zu posten, aber mir fällt jetzt nichts weiter ein, an welchen Stellen es liegen könnte. Liegt es möglicherweise doch an der WndProc der JvTrayIcon-Komponente?
Irgendjemand eine gute Idee?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Programm verhindert Windows-Shutdown/-Logoff

  Alt 18. Mär 2006, 21:59
Schließt du auch brav alle Handles etc? Vllt ist noch was offen und deshalb streikt Windows
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Programm verhindert Windows-Shutdown/-Logoff

  Alt 18. Mär 2006, 22:04
Hi,

ich hatte bei meinem Background Changer genau das gleiche Problem. Nur weiß ich auch nicht mehr, woran genau es gelegen hatte. Hier war mein Thread dazu und evtl. interessant der letzte Beitrag.
Aber vielleicht bringt's dich auch gar nicht weiter.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Programm verhindert Windows-Shutdown/-Logoff

  Alt 18. Mär 2006, 22:07
Hmm...
Eigentich sollten alle Handles wieder dealloziert werden. Es gibt nur eine Klasse, in der ich im Konstruktor ein Handle erstellen, aber dort gebe ich selbiges wieder im Destruktor frei:
Delphi-Quellcode:
constructor THotkeyItem.Create(Collection: TCollection);
begin
  inherited;

  // Handle erzeugen
  fHandle := Classes.AllocateHWnd(self.MsgProc);
end;

destructor THotkeyItem.Destroy;
begin
  // Hotkey deregistrieren
  UnregisterHotkey;
  // Handle freigeben
  Classes.DeallocateHWnd(fHandle);

  inherited;
end;
@Matze: ich gucke mal rein, danke dir.

Chris
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:13 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