Что нового

функция MouseGetCursor() при сворачивании окна

Delikanov

Новичок
Сообщения
7
Репутация
0
Добрый день! Пишу скрипт, в котором используется функция MouseGetCursor(). Скрипт должен будет крутится на отдельной машине доступ к которой осуществляется по РДП. Но, к сожалению, при сворачивании\закрытии окна РДП MouseGetCursor() всегда возвращает 0. Тоже самое получается если использовать _WinAPI_GetCursorInfo(). Вопрос, есть ли возможность отслеживать изменение курсора при сворачивании окна или это вообще невозможно?
 

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Delikanov
Вряд ли есть возможность...
Если конечно кто-нибудь не зайдет под вашем сеансом...
 
Автор
D

Delikanov

Новичок
Сообщения
7
Репутация
0
Не, заходить под моим сеансом другому не вариант :smile:

Проблема в том, что скрипт должен собрать данные с флеш-приложения, а доступа к объектам этого флеша нет. Попробовал переписать скрипт, зайдя с другой стороны - использовал функцию
Код:
Send("^a")
Send("^с")
и все получилось - нужные мне данные записываются в буфер и дальше я нормально могу их обработать, но опять столкнулся с этой же проблемой: при сворачивании окна ничего не работает!!! :( Может к функции Send() есть низкоуровневые аналоги, которые будут работать при свернутом окне?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Delikanov,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Delikanov [?]
при сворачивании\закрытии окна РДП
Вот в этом и есть ваша проблема. Ознакомьтесь:
http://autoit-script.ru/index.php/topic,12877
http://autoit-script.ru/index.php/topic,12491
 
Автор
D

Delikanov

Новичок
Сообщения
7
Репутация
0
Вот в этом и есть ваша проблема. Ознакомьтесь:
Скрипт не находит окно
[Окна, Диалоги] Черный скриншот

К сожалению, не могу ставить 2ой монитор или уменьшать окно сессии по РДП ибо жутко неудобно будет работать... По коду в предложенных темах для себя ничего полезного не нашел... :(
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Delikanov [?]
По коду в предложенных темах для себя ничего полезного не нашел
Альтернатива сворачиванию: F1 перемещает окно клиента RDP в 0:0 (показывает), F2 перемещает вправо за пределы экрана (прячет).
Код:
HotKeySet("{F1}", "Show")
HotKeySet("{F2}", "Hide")

$wnd = WinGetHandle("заголовок_окна_клиента_RDP")

Do
  Sleep(1000)
Until 0

Func Show()
  WinMove($wnd, "", 0, 0)
  WinActivate($wnd)
EndFunc

Func Hide()
  WinMove($wnd, "", @DesktopWidth, 0)
EndFunc
 
Автор
D

Delikanov

Новичок
Сообщения
7
Репутация
0
InnI

Альтернатива сворачиванию: F1 перемещает окно клиента RDP в 0:0 (показывает), F2 перемещает вправо за пределы экрана (прячет).

Спасибо! Полезный скрипт, с этим уже, в принципе, можно работать. Но опять таки полностью проблему не решает. Например, хочу я из дома на ночь запустить работу моего скрипта на удаленном компе, с помощью вашего скрипта я могу все красиво свернуть, но по-прежнему закрыть РДП и выключить свой комп я не смогу - придется оставлять свой комп врубленым на все время работы этого скрипта...
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Если при активном окне работает Send, то при неактивном (когда клиент будет закрыт) должен работать
Код:
ControlSend()
а может даже и
Код:
ControlGetText()
Попробуйте.
 
Автор
D

Delikanov

Новичок
Сообщения
7
Репутация
0
Если при активном окне работает Send, то при неактивном (когда клиент будет закрыт) должен работать ControlSend()а может даже и ControlGetText()Попробуйте.
Попробовал, заменил Send на:
Код:
ControlSend($hWnd, "", "[CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]", "^ф")
ControlSend($hWnd, "", "[CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]", "^с")


но опять неудачно, работает только при развернутом окне. После сворачивания CTRL+A и CTRL+C не работают :(
 
Верх