Autor Beitrag
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Fr 02.05.03 10:53 
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:
ausblenden 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?

_________________
Life is a bad adventure, but the graphic is really good!
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Fr 02.05.03 10:58 
Muss das per DDE erfolgen? Für einen einfachen String würde IMHO auch WM_COPYDATA reichen...!

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: 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.

_________________
Life is a bad adventure, but the graphic is really good!
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: 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.

_________________
Life is a bad adventure, but the graphic is really good!
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Fr 02.05.03 17:40 
Na siehste... ;)

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!