C # — Вставить текст в окне rundll32.exe

Я должен ввести имя пользователя / пароль в окне процесса rundll32.exe. Я думал о следующем:

  1. Получить дескриптор окна входа из процесса rundll32.exe
  2. Сфокусируй окно
  3. Введите текст в 2 текстовых поля и нажмите кнопку ОК

Возможно ли это сделать в .NET или я должен прибегнуть к более низкому уровню Win32 API? Кто-нибудь сделал это раньше и мог бы указать мне правильное направление?

0

Решение

Вы пытаетесь получить дескриптор окна диалогового окна входа в систему Exchange приложения MAPI (возможно, outlook) из процесса rundll32.exe. Это можно сделать из .Net с помощью класса SendKeys, но это не совсем надежно:

В качестве альтернативы вы можете установить сеанс NETBIOS заранее, используя NetUseAdd для установления сеанса. Если это успешно, вам не нужно будет вводить имя пользователя и пароль. Я не знаю, работает ли это с Exchange, но он работает с некоторыми другими приложениями, которые используют встроенную аутентификацию:

1

Другие решения

Других решений пока нет …