Find Window/SendMessage (C++ - Lückentext)

Mogli1977

Grünschnabel
Hallihallo,

ich habe folgendes Problem:

Ich möchte an ein Unterfenster in einem Programm etwas senden mit Sendmessage. Dazu habe ich bereits unten aufgeführten Code zusammen. Mir fehlt nur noch ein kleiner Mittelteil (hoffe ich), in dem das Childwindow gesucht wird.

Kann mir jemand meinen kleinen Lückentext ergänzen?

Vielen vielen Dank im voraus!

Code:
#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
	HWND hwnd;
	hwnd = FindWindow( NULL, TEXT("Haupt-Fenstertitel") );  // Suche das Mutterfenster
	if(hwnd)                        
  
// Hier denke ich, müßte jetzt das Childwindow gesucht werden (m_hWnd?)


// Jetzt wird geschickt, falls im folgenden evtl. Fehler sind, bitte ich um mögliche Korrekturen.
 
//Das war Schrott, unten ists toll!
}

Bis dann dann...
 
Zuletzt bearbeitet:
C++:
#include <iostream>
#include <windows.h>
#include <cstring>

int main()
{
	const ::HWND parent_window(::FindWindow(NULL, TEXT("Haupt-Fenstertitel")));
	if (parent_window == NULL) return 1;

	const ::HWND window(::FindWindowEx(parent_window, NULL, TEXT("edit"), NULL));
	if (window == NULL) return 1;

	char cmd[] = "Q ATT";
	::COPYDATASTRUCT pcds = { NULL, std::strlen(cmd), cmd };
	return ::SendMessage(window, WM_COPYDATA, NULL, reinterpret_cast<LPARAM>(&pcds)) == TRUE ? 0 : 1;
}
... muss nur den Klassennamen anpassen ...
 
Also, vielen Dank für die schnelle Antwort. hat mir sehr weitergeholfen!

Ich habe gestern Abend festgestellt, daß es sich bei dem Fenster, an das ich senden will, um Ur-Ur-Enkel-Fenster handelt, aber ansonsten:

SAHNE


Vielen vielen Dank!:D
 
Und zurück!

:-)Hi nochmal...

Also, das letzte Vorhaben hat dank der schnellen Hilfe hier wunderbar funktioniert.

Jetzt soll es andersrum laufen:

Das "beschickte" Fenster sendet etwas zurück.

Wie kann ich das nun empfangen? Falls es eine Hilfe ist, kann ich einen Screenshot vom WinSpy++ posten.

(Der Großteil der empfangenen Messages ist TB_GETBUTTONINFOW)

Ich habe in dem Sender eine Endlosschleife gestartet und es ständig senden lassen. hier ein Ausschnitt aus den Messages:

DANKE!
 
Zuletzt bearbeitet:
Zurück