Informacji, że się coś zmieniło nie dostaniesz, bo MainWindowTitle
to właściwość. Jej "zawartość" znana jest wtedy, gdy dopiero o nią "poprosisz" - wywołasz getter. I ten getter w tym przypadku wywołuje GetWindowText
. W teorii da się się zrobić to za pomocą timera i pobierać tekst z okna ileśtam razy na sekundę. W praktyce, IMO lepiej polegać na zdarzeniach. Żeby zrobić to tą metodą musisz (nie mam głowy w tej chwili, żeby to przetłumaczyć) zsubclassować okno i wyłapać wiadomość typu WM_SETTEXT
. Problem jest taki, że zrobienie tego w osobnym procesie nie jest takie proste - trzeba uruchomić zdalny wątek, zsubclassować okno, podać nową procedurę okna, no i nie mówiąc o tym, że C# średnio się do tego nadaje i lepiej zrobić to w C++. Ewentualnie użyć globalnego hooka na wiadomości - ale to również w C++.
Tak, zrób to za pomocą timera.