| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Определение header и ID |
| Автор: Коп 16.7.2002, 06:36 |
| Подскажите, пожалуйста, как найти header или ID у программы и поля ввода? Хоть пример приведите. Plz! |
| Автор: Baa 16.7.2002, 14:10 |
| А че такое хедер программы? И че такое ID программы? И тут надо определится... Попробую предположить: хедер - это наерно дискриптор процесса? (нечто, полученное GetCurrentProcess) а ид - это наерно его индетификатор? (нечто, полученное GetCurrentProccessID) (или другими функциями, если не для своего процесса, но дело сейчас не в этом) Далее, нам наерно надо получить дескриптор окна? (нечто, полученное GetWindow) Как проверить, поле ли это ввода? с этим сложнее, потому как полей ввода разных много...Стандартные простые - это EDIT и TEDIT (эт из тех, с которыми я втречался) Как определить? GetClassName Но скоко я не перечитывал вопрос, так и не понял, что же все-таки надо |
| Автор: Коп 16.7.2002, 15:38 |
| Я хочу заполнить поле посторонней программы и спрашивал на форуме об этом (http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?s=3d). Temnozor ответил, что надо Header или ID определить, но не сказал как. Вот я второй раз спрашиваю |
| Автор: keisik 16.7.2002, 16:06 |
| Насколько я понимаю, человек хочет засандалить пару ласковых в EditBox чужого окна Принцип примерно такой: 1. Находишь само окно программы (например через FindWindow) 2. На этом окне находишь нужное дочернее окно, тот самый Edit (тут потруднее будет, можно как сказали выше через GetWindow() и GetClassName, но если например их едитов несколько, то нужно как-то выбирать нужный. Можно попробовать по расположению на окне, только гиморно) 3. Юзаешь SetWindowText(). Вроде так. |
| Автор: Коп 17.7.2002, 12:47 |
| Ладно, приведу пример: открываю документ MS Word с паролем, как обычно выскакивает мини-окно для ввода пароля, и именно сюда мне и надо ввести некую комбинацию символов (из моей программы естественно). FindText находит только header окна Word'a, но не может найти парольное окно. Пробовал найти его как дочернее окно методом GetWindow (<header окна Word'a>, GW_CHILD) - не получается. Вот какая проблема. PS Еще забыл спросить, как кнопку ОК на том же окне нажимать. Тоже header находить, а потом что? PS Огромное спасибо, что отозвались! |
| Автор: Temnozor 17.7.2002, 14:37 |
| Да я просто в разъездах был. Токо-токо до своего компа добрался... Ты не смог найти это окно, т.к. оно не является дочерним Word'овскому. Чтоб посмотреть на иерархию окон в системе на текущий момент запусти утилиту Spy (она входит в состав Visual C++). Так что ищи функцией FindWindow, в которой как параметр lpWindowName укажи "Password" (это заголовок у окна, которое ты ищешь). Ну а дальше ты знаешь... |