|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » VNC авторизация |
|
VNC авторизация
|
Ветеран Сообщения: 968 |
Профиль | Отправить PM | Цитировать
Может есть у кого готовый или помогите создать скрипт для автоматической авторизации при vnc подключении.
Требуется входить как с доменной авторизацией так и просто по паролю (окна при этих авторизациях разные). т.е. нужен процесс или служба работающая в ожидании нужного окна (запрос авторизации по VNC) и при появлении требуемого (их бывает два - с доменной авторизацией и авторизация по паролю - они разные) окна осуществляла ввод (нужного) логина + пароля (в случае с доменной авторизацией) или просто пароля (в случае обычной авторизации). думаю многим очень будет полезна данная наработка решение реализация с ini файлом |
|
Отправлено: 13:10, 09-08-2011 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата batyaPS:
;... ControlClick($h_Win, '', $n_Button) ;на ControlSend($h_Win, '', '', '{ENTER}') ;или на ControlSend($h_Win, '', $n_Button, '{ENTER}') |
|
Отправлено: 11:55, 12-08-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
чет не хочет нажиматься. может задержку надо сделать ? |
|
Отправлено: 13:34, 12-08-2011 | #12 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата batyaPS:
|
|
Отправлено: 14:16, 12-08-2011 | #13 |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
может заменить нажатие ентер на клик мыши ? |
|
Отправлено: 14:27, 12-08-2011 | #14 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать batyaPS,
Интересно, что покажет этот код при открытом окне. $hWin = WinGetHandle('[Title:Ultr@VNC Авторизация;Class:#32770]') If $hWin Then MsgBox(64, 'Info', ControlGetHandle($hWin, '', '[Class:Button;Instance:1]')) Else MsgBox(16, 'Error', 'Нет окна') EndIf |
Отправлено: 17:50, 12-08-2011 | #15 |
Ветеран Сообщения: 1267
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
|
|
Отправлено: 21:25, 12-08-2011 | #16 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
#NoTrayIcon #include <WinAPIEx.au3>;Yashied, http://autoit-script.ru/index.php/topic,47.0.html Opt('MustDeclareVars', 1) Opt('TrayMenuMode', 1) Global $sTitleScript = @ScriptName & '{[/@$@\]}', $sTitleLogPass = '[Title:Ultr@VNC Авторизация;Class:#32770]', _ $sTitlePass = '[Title:VNC Авторизация;Class:#32770]', $fLogPass, $fPass, $nExitItem, $msg If WinExists($sTitleScript) Then Exit AutoItWinSetTitle($sTitleScript) HotKeySet('{Esc}', '_Exit') $nExitItem = TrayCreateItem('Выход') TraySetState() TraySetToolTip('<VNC Авторизация>' & @LF & 'Выход - нажать кнопку "Esc"') _WinAPI_EmptyWorkingSet() While 1 $msg = TrayGetMsg() If WinExists($sTitleLogPass) Then If Not $fLogPass Then _AvtorLogPass() If Not @error Then $fLogPass = True EndIf Else $fLogPass = False EndIf If WinExists($sTitlePass) Then If Not $fPass Then _AvtorPass() If Not @error Then $fPass = True EndIf Else $fPass = False EndIf Switch $msg Case 0 ContinueLoop Case $nExitItem _Exit() EndSwitch WEnd Func _AvtorLogPass() Local $h_Win, $n_Log = '[Class:Edit;Instance:1]', $n_Pass = '[Class:Edit;Instance:2]', _ $n_Button = '[Class:Button;Instance:1]', $s_Log = 'TestUser', $s_Pass = 'TestPass';свои данные поставьте $h_Win = WinGetHandle($sTitleLogPass) If Not $h_Win Then Return SetError(1) If Not ControlSetText($h_Win, '', $n_Log, $s_Log) Then Return SetError(1) If Not ControlSetText($h_Win, '', $n_Pass, $s_Pass) Then Return SetError(1) ControlClick($h_Win, '', $n_Button) If WinExists($h_Win) Then Return SetError(1) Return SetError(0) EndFunc ;==>_AvtorLogPass Func _AvtorPass() Local $h_Win, $n_Pass = '[Class:Edit;Instance:1]', $n_Button = '[Class:Button;Instance:1]', _ $s_Pass = 'TestPass';свои данные поставьте $h_Win = WinGetHandle($sTitlePass) If Not $h_Win Then Return SetError(1) If Not ControlSetText($h_Win, '', $n_Pass, $s_Pass) Then Return SetError(1) ControlClick($h_Win, '', $n_Button) If WinExists($h_Win) Then Return SetError(1) Return SetError(0) EndFunc ;==>_AvtorPass Func _Exit() Exit EndFunc ;==>_Exit |
|
Отправлено: 22:23, 12-08-2011 | #17 |
Ветеран Сообщения: 1267
|
Профиль | Отправить PM | Цитировать madmasles, спасибо, работает. Мне этот код тоже пригодится.
|
Отправлено: 11:53, 13-08-2011 | #18 |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать madmasles, большое спасибо. всё работает.
|
Отправлено: 09:11, 15-08-2011 | #19 |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать маленькая хотелка - можно ли что бы логин и пароли брал из инишника лежащего рядом с exe?
|
Отправлено: 08:48, 16-08-2011 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - Ultra VNC | ElmandeRRR | Программное обеспечение Windows | 2 | 27-01-2012 17:38 | |
Route/Bridge - Вопрос по vnc | loki222 | Сетевые технологии | 5 | 27-11-2010 19:14 | |
VNC на Microsoft windows CE | batyaPS | Мобильные ОС, смартфоны и планшеты | 5 | 22-09-2009 07:33 | |
Прочее - VNC с помощью телефона | mewkoff | Сетевые технологии | 7 | 25-06-2009 16:18 | |
XDM vs VNC что предпочесть? | Vlad Drakula | Общий по Linux | 2 | 17-02-2007 10:42 |
|