FindWindow с частично известным названием - PullRequest
7 голосов
/ 12 января 2012

Пример Outlook: это только один процесс, но он может иметь несколько окон (пользователь может дважды щелкнуть по электронной почте, чтобы открыть ее в своем собственном окне)

Итак, я не могу использовать Process.GetProcess () для итерации по процессам и сравнения заголовка.

FindWindow () нужен полный заголовок; Я знаю заголовок, но в конце окно Outlook добавляет свое собственное, то есть - Сообщение (Rich Text) или - Сообщение (HTML) .. и т. Д.

Могу ли я получить все окна электронной почты (дескрипторы) для Outlook? затем выполните итерацию по ним, чтобы найти мое окно, используя GetWindowText () ? Любые указатели будут высоко оценены.

1 Ответ

10 голосов
/ 12 января 2012

Вы можете использовать EnumWindow для перечисления через все окна, находя то, что вы хотите.

http://www.pinvoke.net/default.aspx/user32.enumwindows

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