Hallo liebe Foren-Gemeinde,
nach längerer Suche in diesem Forum habe ich leider keine passende Antwort zu meinem Problem gefunden.
Deshalb hoffe ich hier vielleicht den richtigen Tipp zu bekommen.
Ich bin gerade dabei einen Programmablauf (Programm A) zu automatisieren. Hierfür will ich mir ein zweites Programm (Programm B) erstellen, welches dann die richtigen Knöpfe in Programm A drückt.
Das funktioniert solange sich alles auf dem Hauptfenster abspielt.
Sobald aber Programm A ein weiteres Fenster öffnet, in welchem auch einige Dinge eingestellt werden müssen, friert Program B ein und ich kann nur noch in das neu geöffnete Unterfenster klicken.
Für den Anfang wollte ich Fenster und Unterfenster an Buttons knöpfen. Diese würde ich dann durch Methoden ersetzen, wenn alles läuft.
Button Start Operatorplatz bearbeitet das MainWindow (Funktioniert und ruft Unterfenster Fertigmelden auf).
Button Start Fertigmelden sollte dann gedrückt werden um das Unterfenster zu bearbeiten.
Ich hoffe Ihr könnt mir da weiter helfen. Im Anhang hab ich noch 1 Bild hochgeladen.
Vielen Dank vorab.
Bitte kein Quellocode als Bild, sondern Quellcode entsprechend als Text in den BB Code fassen.
Keiner hier hat große Lust Code von nem Bild abzutippen. Danke!
[Hinweis] Wie poste ich richtig?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Sobald aber Programm A ein weiteres Fenster öffnet, in welchem auch einige Dinge eingestellt werden müssen, friert Program B ein und ich kann nur noch in das neu geöffnete Unterfenster klicken.
An welcher Stelle/Zeile im Code friert Programm B ein? Hast Du den Ablauf mal debuggt?
Hallo hypersurf,
das Programm B führt noch SendMessage in der else-Anweisung aus und friert dann ein. Es öffnet sich wie gewollt ein neues Fenster im Programm A.
Jetzt will ich auf den Button "Fertigmelden" im Programm B klicken um das 2. Fenster zu bearbeiten aber es geht nicht.
Erst wenn man das neue Fenster wieder schließt.
Dann probiere mal PostMessage (bzw. per P/Invoke PostMessage).
das Programm B führt noch SendMessage in der else-Anweisung aus und friert dann ein
Friert es beim Ausführen von SendMessage oder danach ein?
Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message.
Siehe auch SendMessage function
Vielen Dank nochmal Leute,
der Tipp von Th69 hat geholfen. Es lag tatsächlich an dem von hypersurf zitierten Problem.
Danke euch.
Das war mein erster Post hier. Muss ich jetzt irgendetwas schließen oder geht das von alleine?
s. letzten Absatz (unter "PS:") in [Hinweis] Wie poste ich richtig?
Es ist aber keine Pflicht hier. Wenn andere Leute nach einer Lösung suchen, ist es aber hilfreich zu sehen, daß ein Thema als erledigt oder gelöst markiert wurde.