AGB  ·  Datenschutz  ·  Impressum  







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

WM_QUERYENDSESSION ohne Fenster

Ein Thema von blablab · begonnen am 27. Okt 2012 · letzter Beitrag vom 16. Nov 2012
 
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: WM_QUERYENDSESSION ohne Fenster

  Alt 15. Nov 2012, 21:49
Ich hab folgendes Testprogramm, aber bekomme keine Messages:
Delphi-Quellcode:
program WinMsg;

uses
   Forms, Classes, Messages, SysUtils, Windows;

{$R *.res}

type
   TWndProcClass = class
   protected
      procedure WndProc(var msg: TMessage);
   public
      WinHandle: HWND;
   end;

procedure TWndProcClass.WndProc(var msg: TMessage);
begin
   MessageBox(0, pansichar(inttostr(msg.Msg)), 'msg', 0);
end;

var
   WndProcClass: TWndProcClass;
begin
   WndProcClass := TWndProcClass.Create;
   WndProcClass.WinHandle := AllocateHWnd(WndProcClass.WndProc);

   while True do begin
      Sleep(10);
   end;

   DeallocateHWnd(WndProcClass.WinHandle);
   WndProcClass.Free;
end.
Was mach ich falsch?

Edit:
Und zusätzlich die MessageLoop nicht vergessen, denn ohne einen Code, welche die MessageQueue verarbeitet, bekommt das Fenster zwar die Message, aber keiner verarbeitet sie und sie leibt in der Queue stecken.
Ich hab jetzt versucht eine MessageLoop zu improvisieren (hab sowas noch nie gemacht) und ich bekomme jetzt Messages. Aber wozu brauche ich denn jetzt das AllocateHWnd?

Edit2:
Ok, ich habs jetzt glaub ich so weit verstanden: Es gibt Messages für den Thread und andere für ein Window. Wenn ich also nur eine MessageLoop habe bekomme ich "Thread-Messages" aber keine "Window-Messages". Und scheinbar ist WM_QUERYENDSESSION eine solche "Window-Message".
Aber woher weiß ich denn welche Messages der Thread und welche nur ein Window bekommt? Gibt es da vielleicht eine Übersicht oder kennt jemand ein kleines Tutorial?

Geändert von blablab (15. Nov 2012 um 22:46 Uhr)
  Mit Zitat antworten Zitat
 


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 11:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz