Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Nachrichten von Postmessage Empfangen (https://www.delphipraxis.net/124515-nachrichten-von-postmessage-empfangen.html)

Corpsman 20. Nov 2008 10:59


Nachrichten von Postmessage Empfangen
 
Hossa,

ich hab ne DLL die mir mittels

Delphi-Quellcode:
const
 WM_SENDPACK = WM_USER + 146;

..
    PostMessage(AppWnd, WM_SENDPACK, wParam, lParam);
Nachrichten an meine Anwendung sendet.

die Variable AppWnd habe ich auf Application.handle gesetzt.

Das senden müste so also gehen.

Die Frage ist nur wie Empfange ich in meiner Anwendung die Nachricht ?

kann mir das jemand zeigen ?

Luckie 20. Nov 2008 11:03

Re: Nachrichten von Postmessage Empfangen
 
Nein, du musst das Formular Handle nehmen und dann die Delphi-Referenz durchsuchenWndProc überschreiben.

Corpsman 20. Nov 2008 11:09

Re: Nachrichten von Postmessage Empfangen
 
cool jetzt gehts thx.

Corpsman 20. Nov 2008 11:24

Re: Nachrichten von Postmessage Empfangen
 
Eine Frage hab ich noch.
Delphi-Quellcode:
Function KbdHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
Var
  khs: PKBDLLHookStruct;
Begin
  result := CallNextHookEx(Keyboard_HookHandle, nCode, wParam, lParam);
  If nCode >= 0 Then Begin
    khs := Pointer(lParam);
    PostMessage(AppWnd, WM_SENDPACK, wParam, lParam);
  End;
End;
Diese Function in der DLL schickt mir das eine Taste Gedrückt wurde.

Das Problem ist das wparam und lparam immer gleich sind

bei On Key Down

WParam LParam
256 1244896

bei On Key up

WParam LParam
257 1244896


Egal welche Taste ich auf meiner Tastatur drücke.

Was blöd ist denn ich will ja zwischen 6 verschiedenen Tasten unterscheiden können.

Und bevor jemand Fragt, ja ich weis das das ein Keyboard Hook ist, ich will damit die Tastaturanschläge in einem Spiel aufzeichnen, um so ein Replay erzeugen zu können.

Die Tasten um die es sich dabei dreht sind die Pfeiltasten sowie "Shift" und "Z"

sirius 20. Nov 2008 11:41

Re: Nachrichten von Postmessage Empfangen
 
Du musst die deine Variable khs in der DLL auswerten und dann kannst du ja deine eigenen wparam und lparam definieren und senden.

Corpsman 20. Nov 2008 15:35

Re: Nachrichten von Postmessage Empfangen
 
Jeha,, ich liebe es wenn ein Plan funtioniert.

Vielen Dank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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