1

Тема: AHK: Создание hardware overlay

Уважаемые знатоки, имеется такая задача: администратор должен подключаться удаленно к каждому компьютеру корпоративной сети и проводить манипуляции с программным обеспечением, установленным на компьютере. При этом пользователю должна отображаться веб-страница (с анимацией) о том, что в настоящий момент работа пользователя приостановлена.
Не будем обсуждать каким образом устроено удаленное подключение и управление, а также проблему блокирования физических устройств ввода - все это уже я решил. Вопрос именно в том как отобразить страницу, пока пользователь ожидает завершения манипуляций администратора.
Итак, я пока вижу два решения:
1) Создается второй виртуальный монитор. На нем отображается веб-страница. Монитор становится активным для экрана пользователя. В это время, пока пользователь видит виртуальный монитор, администратор работает с окнами, которые отображаются на мониторе пользователя. Как заканчивает, осуществляется переключение обратно. Но реализация для меня оказалась очень сложной.
2) Есть еще одно решение: отобразить графику поверх отображаемого экрана пользователя с помощью hardware overlay. Таким образом, через программу TeamViewer и ее аналоги можно будет просматривать монитор пользователя, но пользователь будет видеть только страницу. Вот тут как раз и возник вопрос.
Что касается создания Virtual Desktop - то это ложный путь. Проблема в том, что можно одновременно работать только с одиним рабочим столом.
Что касается AHK, есть замечательная наработка DX9-Overlay-API. По описанию мне она подходит. Но в силу отсутствия знаний по AHK хотел бы обратиться к сообществу показать мне пример работы этой библиотеки в контексте моей задачи: а именно отобразить хотя бы изображение так, чтобы я его не увидел в TeamViewer. Для тестеров скажу, что запускается библиотека только под 32-битную версию интерпретатора.

2

Re: AHK: Создание hardware overlay

2JSman
Если "проблема блокирования физических устройств ввода уже решена", то не лучше ли (и проще) тупо вывести где нить в уголке прозрачное окошко AlwaysOnTop "Ждите, работает администратор" ? Или на компе пользователя предполагается делать что то непозволительное для его наблюдения?

3

Re: AHK: Создание hardware overlay

mozers
Задача стоит именно в отображении веб-страницы. Насчет окна поверх всего я предложил в первую же минуту, но предложение было отвергнуто.

4

Re: AHK: Создание hardware overlay

Допустим, администратор заходит через стандартный Remote desctop. Остаётся заблокировать клавиатуру и показать веб-страницу поверх экрана выбора пользователя?

5

Re: AHK: Создание hardware overlay

Это типо:


BlockInput, On
Run, https://www.google.com.ua/
...
BlockInput, Off

6 (изменено: Malcev, 2017-03-06 02:42:26)

Re: AHK: Создание hardware overlay

JSman, мне кажется эта библиотека вряд ли вам поможет.
Судя по описанию, она просто делает прозрачность с помощью directx.
То есть вы это все так же удаленно будете видеть.
А чем вам показалось сложно - подключить второй фейковый дисплей к монитору пользователя и запустить там броузер?
http://superuser.com/questions/62051/is … nd-monitor

7

Re: AHK: Создание hardware overlay

ypppu
Да, именно.

Malcev пишет:

А чем вам показалось сложно - подключить второй фейковый дисплей к монитору пользователя и запустить там броузер?

Первая проблема: при отсутствии выхода VGA (например, на моноблоке) такой финт не провернуть. Вторая проблема: это программная реализация с первого взгляда простых манипуляций. И, как я понял, все сводится к написанию драйвера.

8

Re: AHK: Создание hardware overlay

У меня несколько компьютеров без выхода Vga.
На Win7 этот финт проходил.
Заходил на них через тимвьюер, посылал 3 раза Win+P, получал exteded displays.
После чего открывал браузер на втором дисплее, который становился привязанным к монитору.

9 (изменено: ypppu, 2017-03-06 20:49:59)

Re: AHK: Создание hardware overlay

Вот тут Lexikos демонстрирует работу скрипта поверх экрана выбора пользователя: Could I use Autohotkey for windows logon?

10

Re: AHK: Создание hardware overlay

ypppu, это же для WinXp.
На семерке и выше не пойдет.
Есть, конечно, такой вариант:
https://autohotkey.com/boards/viewtopic … mp;t=27709
Но там написано:

This won't start on Remote Desktop sessions

11

Re: AHK: Создание hardware overlay

Malcev
Значит в TeamViewer поставляется такой драйвер. Надо проверить отображается ли монитор в настройках разрешения экрана.

12 (изменено: Malcev, 2017-03-07 17:57:24)

Re: AHK: Создание hardware overlay

TeamViewer может устанавливать драйвер, а может и нет, по желанию пользователя.
Но он позваляет только выключать экран.
Я имел же в виду следующее:
Идем Control Panel\All Control Panel Items\Display\Screen Resolution.
Нажимаем Detect.
Если монитор не появился, а у меня он всё-таки на одной машине из 10 не появился (RX480 карта), то можно попробовать эту утилиту:
http://virtualmonitor.github.io/
Сам не пробовал, но на гитхабе пишут, что смогли ее и к Win10 прикрутить.