Notepad Text auslesen
-
Hi Leute,
mal wieder ich

Ich hab ein Notepadfenster offen im welchen ich mir auf den "Editbereich" ein Handle geholt habe. Ich habd as Handle mitSendMessage(l_hwndedit, WM_SETTEXT, 0, (long)"TEST TEST");ausgetestet und es funktioniert.
Nun meine Frage:
Wenn ich versuche mit folgenden Code den "Editbereich" auszulesen bekomme ich eine Textlänge von "0"int l_tLength = GetWindowTextLength(l_hwndedit); char *text = new char[l_tLength]; GetWindowText(l_hwndedit,text,l_tLength);und kann somit auch keinen Text aus dem Editfeld lesen .
HAt jemand eine Idee ? Braucht man da einen speziellen Zauberspruch um an den Text aus dem Notepad zu kommen

Danke im Vorab
-
MSDN schrieb:
However, GetWindowTextLength cannot retrieve the length of the text of an edit control in another application.
-
Hm ich hab den Code jetzt wie folgt geändert
int l_tLength = 1204; char *text = new char[l_tLength]; GetWindowText(l_hwndedit,text,l_tLength);aber er kann dennoch keine Daten aus dem Editfeld vom Notepad lesen.
-
int main(int argc, char *argv[]) { HWND hwndNotepad = FindWindow("Notepad", NULL); HWND hwndEdit = FindWindowEx(hwndNotepad, NULL, "Edit", NULL); int nLen = SendMessage(hwndEdit, WM_GETTEXTLENGTH, 0, 0); char *pText = new char[nLen]; SendMessage(hwndEdit, WM_GETTEXT, (WPARAM)nLen, (LPARAM)pText); std::cout << "Notepad Text: " << pText << std::endl; system("pause"); return 0; }
-
Danke miller_m du bist der beste

Da währe ich in tausend Jahren nicht drauf gekommen noch die Message "WM_GETTEXTLENGTH" laufen zu lassen.
Echt cool super Sachen
