Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Mehr als 64 Bit mit Message verschicken (https://www.delphipraxis.net/165192-mehr-als-64-bit-mit-message-verschicken.html)

blablab 17. Dez 2011 18:15

Mehr als 64 Bit mit Message verschicken
 
Hallo!

Ich mache eine Mouse-Hook-DLL, die mir die einzelnen Mouseklicks zuschickt. Sie soll mir den Messagename (z.B. WM_LButtonDown), die Maus-Position und die Zeit zuschicken. Das macht dann 32+2*32+32 = 128 Bit. Da könnte man sicher noch ein paar Bit sparen, aber letztendlich passt es nicht in eine Windows-Message rein und genau das ist mein Problem.
Was gibt es da für Möglichkeiten diese 128 Bit zu verschicken?

Grüße
blablab

Bernhard Geyer 17. Dez 2011 18:23

AW: Mehr als 64 Bit mit Message verschicken
 
Wm_copydata?

himitsu 17. Dez 2011 18:31

AW: Mehr als 64 Bit mit Message verschicken
 
Allgemein alle Arten von Bei Google suchenIPC (inter-process communication / Interprozesskommunikation).

Pipes, MMF, WM_COPYDATA usw.

blablab 17. Dez 2011 18:38

AW: Mehr als 64 Bit mit Message verschicken
 
Danke für die schnellen Antworten!

Es sind ja immer nur 128 Bit auf einmal und insgesamt fallen ja für Mausklicks nicht so viele Daten an. Was wäre da denn am geeignetsten?
Würde eine anonyme Pipe (hab ich schonmal benutzt) ausreichen oder benötige ich dazu eine Named Pipe?
Oder wäre MMF oder WM_COPYDATA besser geeignet?

Sir Rufo 17. Dez 2011 18:44

AW: Mehr als 64 Bit mit Message verschicken
 
wenn es nicht unbedingt per Message laufen muss wäre ein CallBack evtl. günstiger.

Da knnst du übertragen, was du willst

Luckie 17. Dez 2011 18:53

AW: Mehr als 64 Bit mit Message verschicken
 
Warum kann man per Windows Message nur 128 Bit verschicken? wParam und lParam sind jeweils LongInts. Also vier Byte groß.

OK, das war ein Blackout. Vergesst einfach, was ich gesagt habe. Und das will ich nicht bei german-bash.org sehen!

Bummi 17. Dez 2011 19:33

AW: Mehr als 64 Bit mit Message verschicken
 
Den Möglichkeiten habe ich nichts hinzuzufügen, es würde mich aber interessieren warum die Zeit verschickt werden muss ....

himitsu 17. Dez 2011 19:37

AW: Mehr als 64 Bit mit Message verschicken
 
Zitat:

Zitat von Sir Rufo (Beitrag 1141938)
wenn es nicht unbedingt per Message laufen muss wäre ein CallBack evtl. günstiger

Ein Callback über Prozessgrenzen hinweg?


Ein Out-of-Process-Server (globale DLL) würde gehn.



PS: du kannst auch mehrere Messages senden ... 2x 64 Bit ;)

DeddyH 17. Dez 2011 19:39

AW: Mehr als 64 Bit mit Message verschicken
 
Zitat:

Zitat von Luckie (Beitrag 1141941)
OK, das war ein Blackout. Vergesst einfach, was ich gesagt habe. Und das will ich nicht bei german-bash.org sehen!

Von ibash.de hast Du ja nichts gesagt... nee, Scherz ^^

blablab 17. Dez 2011 20:06

AW: Mehr als 64 Bit mit Message verschicken
 
@Bummi:
Also mit dem Verschicken der Zeit bin ich mir nicht ganz sicher. Theoretisch könnte ich die Zeit auch dann messen, wenn die Message bei meinem Programm angekommen ist. Aber es könnte ja sein, dass es bis zur Abarbeitung der Message etwas länger dauert (weil ich z.B. gerade viele andere Messages kriege) und dann stimmt die Zeit nicht mehr. Im Normalfall sollte diese Verzögerung zwar kaum messbar sein, aber ich weiß nicht ob ich mich darauf verlassen kann...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 Uhr.
Seite 1 von 2  1 2      

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