Получить дочернее окно, используя ProcessID или Window Handle? - PullRequest
2 голосов
/ 16 марта 2010

Моя программа A запустила программу B (обе являются отдельными exe-файлами). Теперь моей программе B нужно найти, есть ли у A какое-либо модальное / дочернее окно, открытое с использованием processID A.

Есть ли способ сделать это?

Большое спасибо за вашу помощь.

Ответы [ 2 ]

3 голосов
/ 16 марта 2010

Возможно, вы сможете воспользоваться некоторыми советами из этого вопроса (если не возражаете против использования вызовов Win32).

2 голосов
/ 17 марта 2010

я нашел солн.
1. Получить дескриптор родительского окна A.
PerformanceCounter perId = new PerformanceCounter («Процесс», «Создание идентификатора процесса», Process.GetCurrentProcess (). ProcessName);

2. Используйте метод GetLastActivePopup, чтобы получить последнее активное всплывающее окно (последнее всплывающее окно работает в моем случае :)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...