Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi HWND_Broadcast abfangen (https://www.delphipraxis.net/131211-hwnd_broadcast-abfangen.html)

stoxx 25. Mär 2009 16:42

Re: HWND_Broadcast abfangen
 
bittesehr ...

http://delphi.about.com/od/windowssh...lphi-hooks.htm

ecHo89 25. Mär 2009 22:41

Re: HWND_Broadcast abfangen
 
dort wird sogar korrekt der Mauspunkt inner HookProc verarbeitet, aber wenn ich diese Infos sende (x,y), funktioniert es nur wenn die Maus über der Form ist. Obwohl das Programm in der Verarbeitung mit den Daten korrekt arbeiten kann.

Muss ich ein packed record übergeben? Wieso reicht es nicht aus .x und .y zu übergeben, wenn diese doch korrekt sind?


Delphi-Quellcode:
mousePoint := PMouseHookStruct(Data)^.pt; (data=lparam)

 SendMessage(FindWindow('TMainHookTestForm', nil), WM_COPYDATA,mousePoint.x,mousePoint.Y);

himitsu 25. Mär 2009 22:50

Re: HWND_Broadcast abfangen
 
Delphi-Quellcode:
SendMessage(FindWindow('TMainHookTestForm', nil), WM_COPYDATA, PMouseHookStruct(Data)^.pt.X, PMouseHookStruct(Data)^.pt.Y);

// oder
// oder
// ...
// nja, egal wie, hauptsache X und Y weden übergeben ^^

H := FindWindow('TMainHookTestForm', nil);
SendMessage(H, WM_COPYDATA, X, Y);

Luckie 25. Mär 2009 23:10

Re: HWND_Broadcast abfangen
 
@himitsu: Ich prophezeie mal, dass das nicht kompilieren wird. ;)

himitsu 25. Mär 2009 23:49

Re: HWND_Broadcast abfangen
 
meinst du das vergessene X?

Luckie 25. Mär 2009 23:49

Re: HWND_Broadcast abfangen
 
Zitat:

Zitat von himitsu
meinst du das vergessene X?

:zwinker:

ecHo89 26. Mär 2009 13:47

Re: HWND_Broadcast abfangen
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich weiß nicht, ob ihr mein problem erkennt...
Delphi-Quellcode:
SendMessage(FindWindow('TMainHookTestForm', nil), WM_COPYDATA, PMouseHookStruct(Data)^.pt.X, PMouseHookStruct(Data)^.pt.Y);
ist ja das gleiche wie
Delphi-Quellcode:
mousePoint := PMouseHookStruct(Data)^.pt; (data=lparam)

SendMessage(FindWindow('TMainHookTestForm', nil), WM_COPYDATA,mousePoint.x,mousePoint.Y);
aber das problem ist, sobald die maus nicht mehr auf der form ist, keine koordinaten mehr angezeigt bzw. aktualisiert werden...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.
Seite 2 von 2     12   

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