C #: captura as alterações do estado da janela de outro aplicativo (escritas em c / c ++, eu ach

Tenho uma situação em que preciso capturar alterações no estado da janela de outra janela (que não pertence ao meu aplicativo e não o escrevi. Acho que está escrito em C ++).

Na verdade, estou usando um thread separado, onde constantemente faço GetWindowState e aciono eventos personalizados quando esse valor é alterado (eu tenho o identificador da janela), mas gostaria de saber se existe um método melho

Obrigado

P.S. Estou usando o winform se pode ser útil de qualquer maneira

questionAnswers(2)

yourAnswerToTheQuestion