Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматизация вызова Remote Desctop / 5 сообщений из 5, страница 1 из 1
10.12.2007, 18:53
    #34999352
vantano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматизация вызова Remote Desctop
Я вызываю удаленное соединение следующим скриптом:
Код: plaintext
1.
intReturn = WshShell.Run("mstsc.exe  /v:MyServ /w:710 /h:600",  8 , FALSE)
WshShell.AppActivate ("MyServ Remote Desktop")

Сразу после появления окна удаленного соединения в нем появляется внутреннее окно, требующее нажать «ОК». Вот на это «Ок» я нажать никак не могу. Отсылка «Enter» внешнему окну не помогает никак:
Код: plaintext
WshShell.SendKeys("{ENTER}")
Как достучаться до внутреннего – совсем не знаю. А скрипт должен быть полностью автоматическим.

Хотя если просто с клавиатуры нажать «Ввод» когда окно активно – то срабатывает.

Какие будут идеи?
...
Рейтинг: 0 / 0
10.12.2007, 19:02
    #34999371
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматизация вызова Remote Desctop
Код: plaintext
SendKeys "{ENTER}", True
...
Рейтинг: 0 / 0
10.12.2007, 19:25
    #34999411
vantano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматизация вызова Remote Desctop
Deggasad SendKeys "{ENTER}", True
не-а :(
...
Рейтинг: 0 / 0
10.12.2007, 19:52
    #34999449
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматизация вызова Remote Desctop
Вот что в справке есть

справкаSendKeys Statement Example
This example uses the Shell function to run the Calculator application included with Microsoft Windows. It uses the SendKeys statement to send keystrokes to add some numbers, and then quit the Calculator. (To see the example, paste it into a procedure, then run the procedure. Because AppActivate changes the focus to the Calculator application, you can't single step through the code.). On the Macintosh, use a Macintosh application that accepts keyboard input instead of the Windows Calculator.

Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' Run Calculator.
AppActivate ReturnValue ' Activate the Calculator.
For I = 1 To 100 ' Set up counting loop.
SendKeys I & "{+}", True ' Send keystrokes to Calculator
Next I ' to add each value of I.
SendKeys "=", True ' Get grand total.
SendKeys "%{F4}", True ' Send ALT+F4 to close Calculator.
...
Рейтинг: 0 / 0
11.12.2007, 15:57
    #35001629
vantano
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
автоматизация вызова Remote Desctop
Проблема в том, что когда нажимаем кнопку на клавиатуре она посылается обработчику операционной системы, и тот поочереди (начиная с активного и дальше по определенному алгоритму) опрашивая окна в конце концов находит первого желающего принять полученный сигнал, а когда мы посылаем последовательность кнопок от VBS оно адресуется напрямую через указатель текущему окну.

Получается, что когда я шлю “{Enter}” окну удаленного рабочего стола – то ему и предстоит этот Enter принять, а не внутреннему окну. А как достучаться до внутреннего никак не пойму.
Как постучать в окно то?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / автоматизация вызова Remote Desctop / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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