Hallo,
ein PB-Program läuft und ein anderes Programm (C++) soll von diesen Programm Daten abrufen.
Das C-Programm sendet dann sicher auch mittels API und SendMessage eine Anfrage an das PB-Programm (durch Fensterhandle ermittelt)...
Was muss ich nun im PB-Programm einbauen, damit es auf eingehende Anfragen antwortet? Ein Callback ist klar... und weiter?
PB-Programm soll per SendMessage angesprochen werden können
PB-Programm soll per SendMessage angesprochen werden können
PB 6.21 | Win 11
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Heyho!
Du hast geschrieben, dass das C-Programm "sicher" auch was sendet- woher weißt du das?
WENN du das weißt, dann braucht man auf jeden Fall einmal die Werte- noch besser den Sendmessagebefehl aus dem C-Source, um daraus eine Empfangsschleife zu basteln.
Ansonsten solltest du die Werte, die in lParam/wParam drinstehen einfach auslesen.
Normalerweise ist das ja so:
In wMSG steht die Nachricht drinne (wie ist diese Nachricht? Normalerweise ist sie #WM_USER+X). Da könnte dann drinstehen "#DLL_WINDOW_MOVED".
Jetzt liest du (je nach Werteübergabe des C-Programmes) den wParam und den lParam aus, und hast dann ide X/Y Koordinate.
So läuft das vom Prinzip her.
Aber mehr, sobald du mich aufgeklärt hast
Gr33tz
Tafkadasom2k5
Du hast geschrieben, dass das C-Programm "sicher" auch was sendet- woher weißt du das?
WENN du das weißt, dann braucht man auf jeden Fall einmal die Werte- noch besser den Sendmessagebefehl aus dem C-Source, um daraus eine Empfangsschleife zu basteln.
Ansonsten solltest du die Werte, die in lParam/wParam drinstehen einfach auslesen.
Normalerweise ist das ja so:
In wMSG steht die Nachricht drinne (wie ist diese Nachricht? Normalerweise ist sie #WM_USER+X). Da könnte dann drinstehen "#DLL_WINDOW_MOVED".
Jetzt liest du (je nach Werteübergabe des C-Programmes) den wParam und den lParam aus, und hast dann ide X/Y Koordinate.
So läuft das vom Prinzip her.
Aber mehr, sobald du mich aufgeklärt hast

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Wenn 2 Programme sich per Send- PostMessage was zu sagen haben, so
sollte man eine Message registrieren:
http://msdn2.microsoft.com/en-us/library/ms644947.aspx
Einfach nur #WM_USER + x sollte besser nur innerhalb eines Processes
benutzt werden (z,B. Controls in DLLs usw.)
sollte man eine Message registrieren:
http://msdn2.microsoft.com/en-us/library/ms644947.aspx
Einfach nur #WM_USER + x sollte besser nur innerhalb eines Processes
benutzt werden (z,B. Controls in DLLs usw.)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Und was für einen String muss man da beispielsweise jetzt hinschicken?
Ich hab das nur mal innerhalb eines Programmes gemacht, dass ich mehrere Fenster habe so kommunizieren lassen.
(Es war eine Include, und damit habe ich mir viel Gefrickel erspart)
Ich hab das nur mal innerhalb eines Programmes gemacht, dass ich mehrere Fenster habe so kommunizieren lassen.
(Es war eine Include, und damit habe ich mir viel Gefrickel erspart)
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Tafkadasom2k5 hat geschrieben:Und was für einen String muss man da beispielsweise jetzt hinschicken?
Code: Alles auswählen
RegisterWindowMessage_(@"Tafkadasom2k5_DATA_SENT")
Innerhalb eines Programmes (Processes) ist das ja auch richtig, aber nichtTafkadasom2k5 hat geschrieben: Ich hab das nur mal innerhalb eines Programmes gemacht, dass ich mehrere Fenster habe so kommunizieren lassen.
(Es war eine Include, und damit habe ich mir viel Gefrickel erspart)
über verschiedene Processe
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
