AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi alle window messages an meine form abfangen? aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

alle window messages an meine form abfangen? aber wie?

Ein Thema von unitedlb · begonnen am 7. Nov 2003 · letzter Beitrag vom 7. Nov 2003
Antwort Antwort
unitedlb

Registriert seit: 30. Sep 2003
73 Beiträge
 
Delphi 6 Professional
 
#1

alle window messages an meine form abfangen? aber wie?

  Alt 7. Nov 2003, 14:35
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.
  Mit Zitat antworten Zitat
mr2

Registriert seit: 3. Mai 2003
140 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: alle window messages an meine form abfangen? aber wie?

  Alt 7. Nov 2003, 16:06
Hallo,

einfach WndProc überschreiben.
Delphi-Quellcode:
  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;
[Edit]Syntax-Highlighting geht wieder [/Edit]
"... we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we don't know. But there are also unknown unknowns - the ones we don't know we don't know."
  Mit Zitat antworten Zitat
unitedlb

Registriert seit: 30. Sep 2003
73 Beiträge
 
Delphi 6 Professional
 
#3

Re: alle window messages an meine form abfangen? aber wie?

  Alt 7. Nov 2003, 16:17
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:
  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;
ist da etwas falsch?
  Mit Zitat antworten Zitat
unitedlb

Registriert seit: 30. Sep 2003
73 Beiträge
 
Delphi 6 Professional
 
#4

Re: alle window messages an meine form abfangen? aber wie?

  Alt 7. Nov 2003, 16:37
dein vorschlag funktioniert,
hatte nur etwas vergessen - vielen dank.
  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 01:07 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