![]() |
alle window messages an meine form abfangen? aber wie?
hallo!
ich würde ganz gerne jede window-message die an meine form kommt abfangen und dann weiterleiten. rausgefunden habe ich bis jetzt das man das am besten mit einem hook macht -> SetWindowsHookEx. für das abfangen von tastatur und mausereignissen habe ich hier auch schon einige threads gefunden... danke. |
Re: alle window messages an meine form abfangen? aber wie?
Hallo,
einfach WndProc überschreiben.
Delphi-Quellcode:
[Edit]Syntax-Highlighting geht wieder :)[/Edit]
TForm1 = class(TForm)
protected procedure WndProc(var Message: TMessage); override; { Protected-Deklarationen } public ... procedure TForm1.WndProc(var Message: TMessage); begin if Message.Msg = WM_USER then ShowMessage('WM_USER') else inherited; end; |
Re: alle window messages an meine form abfangen? aber wie?
kriege immer einen software gemeldet wenn ich es damit probiere.
habe allerdings auch eine lösung gefunden, empfange mit aber anscheinend nicht alle nachrichten. ich suche nach WM_USER+171 hier mein ansatz:
Delphi-Quellcode:
ist da etwas falsch?
public
{ Public declarations } function AppHookProc(var Message: TMessage): boolean; ... function TForm1.AppHookProc(var Message : TMessage) : Boolean; begin ... listbox1.Items.add(inttostr(message.Msg)); ... end; procedure TForm1.FormCreate(Sender: TObject); begin application.HookMainWindow(form1.AppHookProc); end; procedure TForm1.FormDestroy(Sender: TObject); begin application.UnHookMainWindow(form1.AppHookProc); end; |
Re: alle window messages an meine form abfangen? aber wie?
dein vorschlag funktioniert,
hatte nur etwas vergessen - vielen dank. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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