Ich möchte Griff des untergeordneten Fensters erhalten, kann aber nicht. Ich möchte Text automatisch in ein Bearbeitungssteuerelement einfügen. Hier ist, was ich habe:Handle des Kind-Fenster in C++
//global var
int id=0;
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
id = GetDlgCtrlID(hwnd);
HWND hwnd_Child;
hwnd_Child = GetDlgItem(hwnd, id);
SendMessage(hwnd_Child, WM_SETTEXT, NULL, (LPARAM)"mYtexttttt");
/* other code */
// id is always 0, why ?
// return FALSE; // stop enumerating
return TRUE; // continue enumeration
}
void MyFunction()
{
HWND hwnd_Parent;
hwnd_Parent = FindWindow(NULL,"MyTitle"); if(! hwnd)return;
EnumChildWindows(hWnd ,(WNDENUMPROC)EnumWindowsProc, NULL);
}
In WinSpy ++, die Steuer IDs aller Komponenten sind 000000000 Ist es möglich, dass die Steuer-ID nicht definiert ist?
Wie finde ich das Kind-Handle einer bestimmten (Edit Box) Komponente, wenn ich das Handle des Hauptfensters habe und die Kontroll-ID nicht definiert ist?
Auch das Hauptfenster ist eine Spielanwendung, die mit DirectX läuft, denke ich. Ich möchte Text automatisch in ein Bearbeitungssteuerelement einfügen.
Manchmal sind IDs nicht definiert, aber Ihr Code sieht trotzdem falsch aus. Wie versuchen Sie, das untergeordnete Fenster zu identifizieren? Wie willst du sagen, was du willst? –
für den ersten Test Ich versuche, SendMessage an alle Handler von EnumChildWindows gefunden .... aber das nicht hilft, möchte ich automatisch Text in einem Edit-Steuerelement einfügen – Jigberto