Вы не описали пример того, что вы собираетесь делать, но автоматизация .NET может вам помочь.Проверьте эту статью.Также обратите внимание на this
[EDIT]. Чтобы получить возможность того, что окно поиска не зависит от значения заголовка, вы должны использовать только функцию FindWindEx и полагаться на className внешнего окна.Класс не зависит от локали.Автоматизация пользовательского интерфейса, на мой взгляд, делится на два класса:
- на основе окна.Этот подход предполагает, что вы используете FindWindow и SendMessage для манипулирования внешними окнами
- на основе координат.При таком подходе вы используете только координаты элементов управления на внешнем окне.Таким образом, вы отправляете сообщения в окно верхнего уровня с конкретными координатами.
Второй подход более прост, но совершенно ненадежен.Это будет работать, пока целевое приложение не изменит макет управления.Поэтому я предлагаю вам использовать FindWindowEx и SenMessage везде, где это может быть применено.
Об привязке вашего приложения к целевому приложению.Да, это возможно, и у вас есть два способа сделать это:
первый и простой способ - создать таймер внутри вашего приложения и проверить координаты целевого приложения и соответственно переместить ваше ap-окно, но такой подход кажется обходным.Второй и более сложный способ - создать Hook и внедрить его в целевой процесс.Вы можете установить ловушку с помощью функции SetWindowHookEx .Также читайте о мышином крючке в C # .И один совет для вас, если вы напишете ловушку, не внедряйте ловушку .NET во все процессы, это может привести к проблемам в управляемых приложениях, если они написаны для разных версий платформы, а не для ловушки.