![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Залогиниться на проксе [D4, D5, D6, Win95/98, NT4]
Vlad_Leon © (2002-03-13 06:46:00)Привет всем! Проблема вот в чём. Для входа в Интернет мне надо ввести имя пользователя и пароль на проксю. Пытаюсь написать прогу, которая сама бы читала из файла параметры, вставляла в нужные места WinGate-окна и нажимала кнопку. Проблема в том, что я не могу получить Handle компонентов на этом окне, хотя Handle окна я получил. Я знаю, что это связанно с тем, что окно созданно на Java. Но как мне быть? Подскажите, може кто-то сталкиался с этим.
Заранее спасибо!
Vlad_Leon (2002-03-13 14:06:00) [1]Сенк! попробую, о результатах сообщу
Nebula (2002-03-13 14:02:00) [2]Открывается браузер, появляется окошко регистрации и становиться активным. Отслеживаешь данное событие либо раз в n секунд ищешь это окно, если не активно, то активизируешь. Дальше эмулируешь нажатие клавишь, как будто пользователь сам давит на клавиши. Именно по этому окно и должно быть активным, keybd_event просто давит на клавиши. Для перемещения по элементам эмулируешь нажатие TAB. Способ, конечно, ужасный. Другого варианта я в свое время не нашел.
Есть еще SDK для WinGate, а точнее GateKeeper SDK. Там могут быть необходимые тебе функции, но с ним я не работал :(
Vlad_Leon (2002-03-13 12:27:00) [3]Nebula, полностью с тобой согласен, что у Java свои handle. А как эмулировать нажатие клавиш. всё равно надо же куда передавать. Если знаешь, подскажи
Nebula (2002-03-13 12:07:00) [4]Не получится. Java это, свои там handle. Придется симулировать нажатие клавишь (функция - keybd_event или для NT/2000 лучше SendInput).
Может быть можно получить доступ с окнам ввода из Java приложения, но тут я не силен. Поспрашивай.
VuDZ (2002-03-13 08:56:00) [5]ну и что то на джабе, дял окошек то используется вариант граф. либы которая юзает winAPI.
Вызови EnumChildWindows() и смотри что получается.
Если получиться - по GetClassName() узнаешь что это для каждого дочернего контрола - для полей ввода - EDIT обычно. Можно в Spy++ посмотреть, но он идёт только с VC++ - он раскажет и имя класса и пр.