Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2011, 23:08   #1
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию работа с чужими окнами

Привет всем) перелопатил кучу сайтов, но ответа не могу найти на свой вопрос, надеюсь на вашу помощь) пишу програмку автоматизации ввода логина и пароля. Она вводит но лишь в логин, а пароль не заполняет, и вместо нажатия кнопки OK, она ставит галочку для сохранения имени пользователя. Вот код
Код:
for I := 0 to List.Count - 1 do
  begin
  TheWindowHandle := FindAWindow(list[i], '');
UnPro:= FindWindow(nil, pchar(list[i])); //Где меню с вводом пароля
UserText := FindWindowEx(UnPro, 0, 'Edit', nil); // Где само поле на этом меню
passtext:=FindWindowEx(UnPro, 0, 'Edit', nil);
  if (UnPro <> 0) and (passtext <> 0) then
  begin
 SendMessage(PassText, WM_SETTEXT, 0, lParam(LPCTSTR(txt))); //Пихаем пароль
 SendMessage(UserText, WM_SETTEXT, 0, lParam(LPCTSTR('user'))) ;
 OKbutton :=FindWindowEx(UnPro, 0, 'Button', nil); //Ищем сокровенную OK
 SendMessage(OKbutton, BM_CLICK, 0, 0); //Жмёт ОК принять пароль 
  end;
  end;
list.Free;
заранее благодарен
D_E_N вне форума Ответить с цитированием
Старый 27.11.2011, 17:03   #2
Fedor666
Пользователь
 
Регистрация: 22.02.2010
Сообщений: 71
По умолчанию

Если это окошко берется из ресурсов, может проще узнать ID нужных контролов (они не меняются) и слать сообщения при помощи SendDlgItemMessage?
Код:
LONG SendDlgItemMessage(
    HWND hDlg,		// handle of dialog box
    int nIDDlgItem,	// identifier of control
    UINT Msg,		// message to send
    WPARAM wParam,	// first message parameter
    LPARAM lParam	// second message parameter
);
Fedor666 вне форума Ответить с цитированием
Старый 28.11.2011, 11:48   #3
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию

[QUOTE=Fedor666;923014]Если это окошко берется из ресурсов, может проще узнать ID нужных контролов (они не меняются) и слать сообщения при помощи SendDlgItemMessage?
Код:
LONG SendDlgItemMessage(
    HWND hDlg,		// handle of dialog box
    int nIDDlgItem,	// identifier of control
    UINT Msg,		// message to send
    WPARAM wParam,	// first message parameter
    LPARAM lParam	// second message parameter
);
Спасибо попробую)
D_E_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с чужими окнами ZBEP Win Api 19 13.05.2014 08:17
Работа с чужими окнами KWN, lnc Общие вопросы Delphi 1 07.06.2011 20:24
Работа с чужими окнами Lemo Помощь студентам 12 06.06.2010 20:14
Работа с чужими окнами Djem1991 Общие вопросы Delphi 3 15.11.2009 22:35
работа с чужими окнами betirsolt Общие вопросы Delphi 8 06.10.2009 12:52