powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Надо закрыть окно с паролем
5 сообщений из 5, страница 1 из 1
Надо закрыть окно с паролем
    #35274244
Gradient
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой браузер FireFox. Все бы хорошо, но мне приходится использовать прокси с авторизацией.
И при каждом запросе вылетает модальное окно "логин-пароль-OK-Cancel". Поля уже заполнены правильно, так что надо просто нажать Enter.

И решил я для этого написать простенькую программку, которая посылает VK_RETURN этому окну.
Сие действо:
Код: plaintext
1.
2.
3.
PostMessage(h, WM_KEYDOWN, VK_RETURN,  0 );
  Sleep( 10 );
  PostMessage(h, WM_KEYUP, VK_RETURN,  0 );
  Sleep( 10 );
не приводит к должному результату. Хендл получается правильно: если сделать SetWindowText(h, 'MyWindow'), то текст заголовка окна изменится. Но энтер упорно нажиматься не хочет.

Окно ввода пароля модальное для приложения Firefox.
Есть у кого идеи и объяснения в чем косяк?
...
Рейтинг: 0 / 0
Надо закрыть окно с паролем
    #35274304
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если окно модальное, то можно попробовать вызвать EndDialog
...
Рейтинг: 0 / 0
Надо закрыть окно с паролем
    #35274498
Gradient
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C#C++можно попробовать вызвать EndDialog
Идея хорошая. Уже лучше. Только при вызове вылетает "Access violation at address 7E425A30 in module 'user32.dll'. Read of address 00183FE8". В какую сторону это лечить? Брать весь Firefox под дебаг и потом отпускать? Что-то сложновато. Странно, при нажатии кнопки этот EndDialog, по идее, должен автоматически вызываться. Или я не прав?
...
Рейтинг: 0 / 0
Надо закрыть окно с паролем
    #35274543
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gradient C#C++можно попробовать вызвать EndDialog
Идея хорошая. Уже лучше. Только при вызове вылетает "Access violation at address 7E425A30 in module 'user32.dll'. Read of address 00183FE8". В какую сторону это лечить? Брать весь Firefox под дебаг и потом отпускать? Что-то сложновато. Странно, при нажатии кнопки этот EndDialog, по идее, должен автоматически вызываться. Или я не прав?
Видимо, еще какие-то действия есть по нажатию на кнопку, и без этого нажатия не обойтись...
Можно найти саму кнопку и на нее нажать с помощью SendInput или WM_LBUTTONDOWN/WM_LBUTTONUP
Или попробовать послать кнопке WM_KEYDOWN/WM_KEYUP
...
Рейтинг: 0 / 0
Надо закрыть окно с паролем
    #35274784
Gradient
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо огромное!

Заработало, когда стал посылать сообщения KEYDOWN/KEYUP именно кнопке "OK".
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Надо закрыть окно с паролем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]