![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Коп |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 11.7.2002 Репутация: нет Всего: нет |
Подскажите, пожалуйста, как найти header или ID у программы и поля ввода? Хоть пример приведите. Plz!
|
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
А че такое хедер программы?
И че такое ID программы? И тут надо определится... Попробую предположить: хедер - это наерно дискриптор процесса? (нечто, полученное GetCurrentProcess) а ид - это наерно его индетификатор? (нечто, полученное GetCurrentProccessID) (или другими функциями, если не для своего процесса, но дело сейчас не в этом) Далее, нам наерно надо получить дескриптор окна? (нечто, полученное GetWindow) Как проверить, поле ли это ввода? с этим сложнее, потому как полей ввода разных много...Стандартные простые - это EDIT и TEDIT (эт из тех, с которыми я втречался) Как определить? GetClassName Но скоко я не перечитывал вопрос, так и не понял, что же все-таки надо -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Коп |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 11.7.2002 Репутация: нет Всего: нет |
Я хочу заполнить поле посторонней программы и спрашивал на форуме об этом
(Заполнение полей). Temnozor ответил, что надо Header или ID определить, но не сказал как. Вот я второй раз спрашиваю |
|||
|
||||
| keisik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 118 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Насколько я понимаю, человек хочет засандалить пару ласковых в EditBox чужого окна
Принцип примерно такой: 1. Находишь само окно программы (например через FindWindow) 2. На этом окне находишь нужное дочернее окно, тот самый Edit (тут потруднее будет, можно как сказали выше через GetWindow() и GetClassName, но если например их едитов несколько, то нужно как-то выбирать нужный. Можно попробовать по расположению на окне, только гиморно) 3. Юзаешь SetWindowText(). Вроде так. --------------------
...None of that can stop us now,we will make it through somehow... |
|||
|
||||
| Коп |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 11.7.2002 Репутация: нет Всего: нет |
Ладно, приведу пример: открываю документ MS Word с паролем, как обычно выскакивает мини-окно для ввода пароля, и именно сюда мне и надо ввести некую комбинацию символов (из моей программы естественно). FindText находит только header окна Word'a, но не может найти парольное окно. Пробовал найти его как дочернее окно методом GetWindow (<header окна Word'a>, GW_CHILD) - не получается. Вот какая проблема.
PS Еще забыл спросить, как кнопку ОК на том же окне нажимать. Тоже header находить, а потом что? PS Огромное спасибо, что отозвались! |
|||
|
||||
| Temnozor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 27.6.2002 Где: Тюмень Репутация: нет Всего: нет |
Да я просто в разъездах был. Токо-токо до своего компа добрался...
Ты не смог найти это окно, т.к. оно не является дочерним Word'овскому. Чтоб посмотреть на иерархию окон в системе на текущий момент запусти утилиту Spy (она входит в состав Visual C++). Так что ищи функцией FindWindow, в которой как параметр lpWindowName укажи "Password" (это заголовок у окна, которое ты ищешь). Ну а дальше ты знаешь... --------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |