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 [NonVCL] Problem WndProc; Pointer mit Daten füllen (https://www.delphipraxis.net/167129-%5Bnonvcl%5D-problem-wndproc%3B-pointer-mit-daten-fuellen.html)

Blup 15. Mär 2012 07:33

AW: [NonVCL] Problem WndProc; Pointer mit Daten füllen
 
Die einfachste Lösung dürfte in diesem Fall die Übergabe der Zeichenkette per globaler Atomtabelle sein:
About Atom Tables

NickelM 15. Apr 2012 09:42

AW: [NonVCL] Problem WndProc; Pointer mit Daten füllen
 
Danke für den Tipp.
Schaue ich mir aufjedenfall mal an.
Habe es mit Dynamic Data Exchange Management Library gemacht. Hatte dan super funktioniert. Trotzdem danke.:-D Guge mir immer gerne was neues an :-D

Assarbad 16. Apr 2012 17:29

AW: [NonVCL] Problem WndProc; Pointer mit Daten füllen
 
Zitat:

Zitat von NickelM (Beitrag 1156570)
EDIT: Doffe Frage, kann es sein, das ich erst irgendwie meiner WndProc (z.b. dem Programm) Rechte geben muss um auf den Speicher von der DLL-Variable zuzugreifen? Anscheinend macht die normale WndProc noch irgendwas, um in den Speicherbereich von der Variablen schreiben zukönnen. Oder irre ich da?

Nicht der DLL, aber dem Prozess der die DLL benutzt und im Endeffekt MSDN-Library durchsuchenSendMessage aufruft. Seit Vista gibt es da gewisse Mechanismen. Welches System verwendest du denn, gibt es 32/64bit-Schranken und vor allem laufen die Prozesse mit gleicher Privilegienstufe ("Elevation")?

Stichworte: MSDN-Library durchsuchenUIPI (und MSDN-Library durchsuchenChangeWindowMessageFilterEx), MSDN-Library durchsuchenPrivilege Isolation, MSDN-Library durchsuchenIntegrity Levels

Zitat:

Zitat von NickelM (Beitrag 1156622)
Ich hab schon viel von Pipes gehört usw. , aber wie gesagt nur gehört. Ob das damit geht, weis ich auch nicht. Hab grad nen bischen mit GlobalAlloc und VirtualAlloc getestet, auch bei GlobalAlloc, den Handle an die andere übergeben, kein Unterschied.

Die funktionieren nur innerhalb des gleichen Prozesses. Ansonsten: MSDN-Library durchsuchenVirtualAllocEx

Zitat:

Zitat von NickelM (Beitrag 1156622)
Ich werde wohl schauen müssen, ob ich irgendwie eine MessageLoop mit einem "unsichtbaren" Fenster in der DLL erzeuge und hoffen, dass ich dan mit WM_COPYDATA die Daten rüberbekomme.

Ich dachte die DLL schickt die Nachricht? Warum brauchst du dann eine Nachrichtenschleife in der DLL?

Ich wünschte mir, daß die "Generation Google" sich mal wieder in ein Problem verbeißen würde bis es gelöst ist, anstatt auszuweichen oder aufzugeben ;)


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

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