Entwickler-Ecke
Windows API - DEE-Client ohne VCL, nur Win-API?
Andreas Pfau - Fr 02.05.03 10:53
Titel: DEE-Client ohne VCL, nur Win-API?
Hallo,
ich will mir einen DDE-Client schreiben, der OHNe VCL arbeitet, also nur API-Befehle aufruft. Es sollte am besten nur eine einzige Methode sein, die sich beim aufrufen verbindet, einen String sendet, die DDE-Verbindung trennt, fertig. Die Nachricht soll dann in einer anderen Anwendung mittels VCL empfangen werden.
Die Client-Methode sollte also ungefähr so aussehen:
Quelltext
1: 2: 3: 4:
| function SendDDEString(Text: String): Boolean; begin { ... } end; |
We kann mir helfen oder kennt Links, oder we kann mir sagen, welche API-Funktionen ich mir ansehen muss?
Motzi - Fr 02.05.03 10:58
Muss das per DDE erfolgen? Für einen einfachen String würde IMHO auch WM_COPYDATA reichen...!
Andreas Pfau - Fr 02.05.03 13:27
Nun ja, ich habe da ein furchtbar mysteriöses Problem... Ein Hook in 'ner DLL soll mit einer EXE kommunizieren, zwecks Y<->Z (habe das schonmal angesprochen in 'nem anderen Topic). Nun scheint es, also ob es 2 Instanzen oder so gäbe, und wenn der Tastendruck NICHT im Hauptfenster auftritt, "vergisst" die DLL das Handle des Fensters. Und das Hauptfenster soll ja nicht immer den Screen verschandeln, bloß damit ich FidWindow() verwenden kann.
Also habe ich mich für DDE entschieden, da ich mich nicht um ein Loop kümmern muss, der die Daten aus 'ner MMF oder so liest.
Und da die DLL nicht sooo groß werden soll, wäre ich nicht abgeneigt, das ohne VCL zu machen.
PS: Oder fällt dir evtl. eine bessere Idee ein, ein Integer global zu speichern, so dass ich es von der DLL aus lesen kann? Wie gesagt, es geht NICHT anders, alles probiert. Ich schätze mal, dass habe die M$-Coder so gemacht, um Keylogger zu verhindern. Aber das will ich ja gar net. Soll nur ein QWERTZ-Keyboard in ein QWERTY verwandeln, wie gesagt, irgendwo habe ich dazu mal ein Topic gepostet.
Andreas Pfau - Fr 02.05.03 17:09
Deie Idee war gar nicht so schlecht... ich habe si ein bisschen "getunt". Ich sende die Message mit HWnd_Broadcast, dann brauche ich mich nichtum das Handle zu kümmern. Die MessageID erstelle ich mit RegisterwindowMessage(), dann kann ich schonmal keine fremden Programme beeinflussen.
Motzi - Fr 02.05.03 17:40
Na siehste... ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!