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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2014, 21:54   #1
Nick174
 
Регистрация: 06.12.2014
Сообщений: 3
По умолчанию Заполнение поля чужой программы

Всем доброго времени суток. Надеюсь, что кто-то сможет помочь.
Есть старая версия программы Tillypad, у меня на работе и просто так со скуки появилась идея автоматической авторизации, на различные сервера, вводить каждый раз логин-пароль-сервер надоело. Для начала реализовал, через реестр, но реестр не хранит и не содержит параметра пароля.
Поэтому случаю я начал копаться через функции FindWindow и FindWindowEx
На скриншоте видим иерархию, пока что хочу докопать до полей Логина и Пароля - это самые нижние TEdit - первый логин, второй пароль.
Получилось получить форму - fmLogin_TillyPad, затем найти первую панель, после вторую, даже получается получить 1-ый TEdit(его handler находится)...
Вопрос в следующем, как в эти поля ввести свои логин и пароль. Как получить второй TEdit.
Код:

int iHandle = FindWindow(null, "TillyPad");
            string c = GetWindowText((IntPtr)iHandle);
            var h2 = FindWindowEx((IntPtr)iHandle, (IntPtr)FindWindow("TfmLogin_Tillypad", "TillyPad"), "TfmLogin", "fmLogin_Tillypad");
            string c1 = GetWindowText((IntPtr)h2);
            int i1 = FindWindow(null, "fmLogin_Tillypad");
            string c2 = GetWindowText((IntPtr)i1);
 
            //в h3-первая панель
            var h3 = FindWindowEx((IntPtr)i1, (IntPtr)0, "TPanel", "");
            string c3 = GetWindowText((IntPtr)h3);
            //в h4 -вторая панель
            var h4 = FindWindowEx((IntPtr)h3, (IntPtr)0, "TPanel", "");
            string c4 = GetWindowText((IntPtr)h4);
 
            var h5 = FindWindowEx((IntPtr)h4, (IntPtr)0, "TPanel", "");
            string c5 = GetWindowText((IntPtr)h5);
 
            var h6 = FindWindowEx((IntPtr)h4, (IntPtr)0, "TEdit", "");
            
 
            SetWindowText((IntPtr)h6, "222222");
            string c6 = GetWindowText((IntPtr)h6);
Сразу по коду, вроде как в h6 лежит handler первого TEdit. Выполняем SetWindowText, получаем текст с h6, видим: "222222", по факту же "222222" в поле нет!
Изображения
Тип файла: png 1.PNG (3.3 Кб, 70 просмотров)
Nick174 вне форума Ответить с цитированием
Старый 06.12.2014, 22:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

GetWindowText получает данные из эдита, а SetWindowText туда передает.
Намек понял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.12.2014, 23:18   #3
Nick174
 
Регистрация: 06.12.2014
Сообщений: 3
По умолчанию

в h6 якобы handler Edit-а. SetWindowText - передаем туда значение. GetWindowText - получаем. и оно как бы есть. Но физически в окне его нет
Nick174 вне форума Ответить с цитированием
Старый 10.12.2014, 19:20   #4
Nick174
 
Регистрация: 06.12.2014
Сообщений: 3
По умолчанию

никто ничего не подскажет?
Nick174 вне форума Ответить с цитированием
Старый 09.03.2015, 09:23   #5
planetoxod
Пользователь
 
Регистрация: 04.03.2015
Сообщений: 22
По умолчанию

Пошли сообщение окну Edit-а, что нажата например 2.
planetoxod вне форума Ответить с цитированием
Старый 09.03.2015, 10:47   #6
DpolenST
Форумчанин
 
Регистрация: 28.09.2013
Сообщений: 115
По умолчанию

удалено
10букв
Что бы еще такого сделать, чтобы ничего не делать?

Последний раз редактировалось DpolenST; 09.03.2015 в 14:11. Причина: некропостинг
DpolenST вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск и контроль чужой программы Aliens_wolfs Общие вопросы Delphi 8 29.08.2012 11:29
[C#] Запуск чужой программы JonMagon Помощь студентам 9 19.08.2011 14:18
Скопировать компонент чужой программы MrMihan Win Api 12 08.11.2010 18:53
Текст из RichView чужой программы W0LF Общие вопросы Delphi 4 20.02.2010 17:12
Завершение работы чужой программы Viteef Win Api 12 24.09.2007 12:31