C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Вижу сколько, взять не могу...  (Прочитано 2361 раз)
d7d1cd
Участник
**

Сказали спасибо: +59/-24
Offline Offline

Сообщений: 1005


« : 01 апреля 2010, 09:37:09 »

Кто-нибудь сталкивался с подобным? По нажатию кнопки выполняется следующее:
Код:
HWND AuthWin = NULL; //окно

 AuthWin = FindWindow(NULL, "Пользователь"); //ищем окно
 if(AuthWin == NULL) return; //если окно не найдено прерываем метод

 HWND Password = NULL; //поле пароля

 Password = FindWindowEx(AuthWin, NULL, "Edit", NULL); //ищем поле пароля

 AnsiString s;
 int len = SendMessage(Password, WM_GETTEXTLENGTH, 0, 0);
 s.SetLength(len);
 SendMessage(Password, WM_GETTEXT, len+1, (LPARAM)s.c_str());
 Label1->Caption = s;


Программа находит "чужое" окно и его поле ввода, правильно определяет количество введенных символов, но вот сами символы из поля ввода извлечь не может. Переменная s всегда пустая. Скажите, что не так?
Записан
Tantos
А ты воспользовался поиском перед тем, как спросить?!
Давний друг
**

Сказали спасибо: +350/-28
Offline Offline

Сообщений: 2181


« Ответ #1 : 01 апреля 2010, 10:31:56 »

Есть мнение, что, начиная с Windows XP, халяву прикрыли - как-то сейчас по-хитрому скрываются пароли.
Записан
d7d1cd
Участник
**

Сказали спасибо: +59/-24
Offline Offline

Сообщений: 1005


« Ответ #2 : 01 апреля 2010, 10:33:46 »

Значит никак не получится?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в: