Bei Aufruf eines externen Programms Dialogtitel überschreiben
-
Servus Leute,
ich hab ein C++ Programm geschrieben das per Klick auf ne Schaltfläche ein externes Programm aufruft. Bei diesem Programm steht im Dialogtitel "eMatrix MQL". Da ich auf diesen Dialogtitel keinen Einfluss habe würde ich gerne wissen ob es über WinAPI oder dergleichen irgendeine Methode gibt diesen Titel zu überschreiben.
Der Hintergrund: eMatrix MQL ist eine Clientanwendung die auf verschiedene Oracle Datenbanken zugreifen kann. Dies ist von der Bootstrapfile abhänig die beim MQL Start im Root Verzeichnis von MQL liegt. Jetzt soll je nach zu verbindender Datenbank der Titel sich ändern. Beispielsweise:
Quality Database -> "eMatrix MQL mx1live'
Release Database -> "eMatrix MQL mxt1rel"
Development Database -> "eMatrix mxt1dev"Wäre absolut genial wenn mir hier jemand helfen könnte...
Muchas gracias
Gruss
Tom
-
FindWindow und dann SetWindowText bzw. WM_SETTEXT - wie dauerhaft das dann aber ist weiß ich nicht

-
hmmm, könntest du vielleicht nen kleines Beispiel daszu schreiben? So direkt kann ich damit nichts anfangen. Vielen Dank
TomTom
-
forensuche und msdn sind deine freunde

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/findwindow.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmessages/wm_settext.asp// eine klasse zu suchen wäre besser als ein window text // die klasse bekommst du zb: mit spy++ HWND hwnd = FindWindow(NULL, "eMatrix MQL"); char text[] = "hier kannst du deinen neuen fenster titel reinschreiben"; SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM)text);
-
Ich habe es jetzt mal für den Editor gemacht:
HWND hWnd = FindWindow(NULL,"Unbenannt - Editor"); if(hWnd) { SetWindowText(hWnd,"Test"); } else { MessageBox(NULL,"Das Fenster wurde nicht gefunden!","Fehler",MB_OK); }edit: Da war wohl einer schneller

-
@flenders
hast du es getestet ? denn die msdn sagtTo set the text of a control in another process, send the WM_SETTEXT message directly instead of calling SetWindowText.
-
Ja habe ich - beim Hauptfenster trifft "control in another process" nicht zu

-
Hey Leute, ihr seit einsame Sptize.
Das haut wirklich so hin wie ich mir das vorgestellt hab

Vielen, vielen Dank!!!
Und weil ihr so gut wart, werde ich euch in nem anderen Thread gleich noch ne Frage stellen
es sei denn ich find hier irgendwo ne alternative *g*