Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Problem mit Nachricht aus DLL (https://www.delphipraxis.net/25474-problem-mit-nachricht-aus-dll.html)

TStringlist 8. Jul 2004 20:43

Re: Problem mit Nachricht aus DLL
 
Wieso? wenn ich das ganze mit MakeLParam() ausschreiben muss, dann brauche ich trotzdem immer noch mindestens 4 ganze Anschläge mehr. Ergo: Etwas schneller, und was anderes schrieb ich ja auch nicht, ist immer noch meine Version.

Gut, MakeWParam() etc. mag es auch noch geben, aber bei deiner versuchten Verknüpfung von beidem bleibt doch nur noch mehr der Gedanke:


..immer diese wahrhaft großen Lehrer der Menschheit und ihren glorreichen Formulierungen & Effekthaschereien! Gott möge sie segnen!

*g*

Chris P 9. Jul 2004 11:48

Re: Problem mit Nachricht aus DLL
 
Ich habe das jetzt so gemacht wie Neolithos:

Delphi-Quellcode:
function MouseHookFunc(Code: Integer; dwmsg: Cardinal; pMousedata: PMOUSEHOOKSTRUCT): LRESULT; stdcall;
var
   pt : TSmallPoint;
begin
  // Nachricht auswerten
  if Code >= 0 then
  begin

        hMap := OpenFileMapping(FILE_MAP_ALL_ACCESS, False, 'MMF');
        HookRec := MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
        if HookRec <> nil then
        begin
           pt := PointToSmallPoint(pMousedata^.pt);
           PostMessage(HookRec.AppHnd, WM_MOUSEHOOK, dwmsg, PCardinal(@pt)^);
        end;
       UnmapViewOfFile(HookRec);
       CloseHandle(hMap);
  end
  else
     Exit;
  //Nachricht an Fenster weiterleiten
    Result := CallNextHookEx(hMouseHook, Code, dwmsg, Integer(pMousedata));
end;
Aber in der Zeile mit POSTMESSAGE kommt eine Fehlermeldung:

"Operator oder Semikolon fehlt"

Wo liegt der Fehler?

@neolithos:

Wie sieht deine Projektdatei aus??

TStringlist 9. Jul 2004 12:20

Re: Problem mit Nachricht aus DLL
 
wenn du die PostMessage-Zeile so schreibst:

Code:
PostMessage(HookRec.AppHnd, WM_MOUSEHOOK, dwmsg, integer(pt));
müsste sie stimmen. Darin sollte also nun kein Pointer mehr auf irgendwelche Koordinatenwerte enthalten sein, sondern eben nur noch mehr der eigentliche Koordinatenwert selbst.

neolithos 9. Jul 2004 13:24

Re: Problem mit Nachricht aus DLL
 
@Chris P:
Du hast eine PM.

Mit meinem Project.

Chris P 12. Jul 2004 08:02

Re: Problem mit Nachricht aus DLL
 
@Neolithos:

Vielen Dank.

Der Hook ist sehr gut!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 Uhr.
Seite 4 von 4   « Erste     234   

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