String mit SendMessage() senden?
-
Hallo.
Ist es möglich einen kompletten String über SendMessage() zu senden? Oder muss ich doch jedes Zeichen einzeln senden?
-
Prozessintern kannst du einfach den Zeiger auf den String versenden. Wenn du aber einen String an einen anderen Prozess senden willst musst du WM_COPYDATA benutzen.
-
Wollen wir mal den Grund hinterher schieben. Intern wird nur ein Pointer verschickt. Pointer haben habe nur innerhalb des selben Prozesses ihr Gültigkeit. WM_COPYFDATA löst das Problem über einen gemeinsamen Speicherbereich, auf den beide Prozesses Zugriff haben.
-
Du kannst auch, wenn du den Text z.B. an ein Editfield senden willst, das so machen:
SendMessage(editHwnd, WM_SETTEXT, NULL, LPARAM(L"Hello"));Ich hoffe das konnte dir helfen
-
SetWindowText(GetDlgItem(hWnd,IDC_EDIT1),"Der Text");
Geht auch ganz gut.
Wenn die den HWND des Textfeldes hast kannst du den auch direkt einfügen.