1

Тема: AHK: Настройка вывода в виртуальную машину VMware?

Имеется Win7, на ней VMware, там такая же Win7.
Задача:
Исполнять все команды AHK только в гостевой ОС.

На сколько я понял можно попробовать создать на виртуалке и хосте по COM порту, так что, если нет иных идей, вопрос сводится к тому как выводить все действия AHK в COM-порт...

2

Re: AHK: Настройка вывода в виртуальную машину VMware?

С взаимодействием по COM-порту подсказать не могу, но можно организовать взаимодействие через общую папку. В виртуалке скрипт мониторит содержимое папки, если появляется новый скрипт - запускает его. В принципе, для уменьшения нагрузки и увеличения быстродействия на хосте можно создать небольшой RAM-диск и расшарить его для гостевой ОС.

3

Re: AHK: Настройка вывода в виртуальную машину VMware?

Irbis пишет:

С взаимодействием по COM-порту подсказать не могу, но можно организовать взаимодействие через общую папку. В виртуалке скрипт мониторит содержимое папки, если появляется новый скрипт - запускает его. В принципе, для уменьшения нагрузки и увеличения быстродействия на хосте можно создать небольшой RAM-диск и расшарить его для гостевой ОС.

К сожалению не вариант: идея была как раз в том, чтобы в гостевой ос не было никаких хвостов AHK и все команды с хоста воспринимались именно как события аппаратной части.

4

Re: AHK: Настройка вывода в виртуальную машину VMware?

А как вы себе представляете «команды AHK»? Как некие магические кусочки данных которые можно отправить по некому интерфейсу и они «долетев» до получателя неопределённым образом вызывают выполнение функций win api?

«Так» это не работает. Выполняя скрипт на хосте вы можете управлять гостевой системой как окном отправляя клики и нажатия, определяя цвет пикселей, но не иначе.
Попробуйте «спрятать» AHK другим способом.

5

Re: AHK: Настройка вывода в виртуальную машину VMware?

creature.ws пишет:

А как вы себе представляете «команды AHK»? Как некие магические кусочки данных которые можно отправить по некому интерфейсу и они «долетев» до получателя неопределённым образом вызывают выполнение функций win api?

«Так» это не работает. Выполняя скрипт на хосте вы можете управлять гостевой системой как окном отправляя клики и нажатия, определяя цвет пикселей, но не иначе.
Попробуйте «спрятать» AHK другим способом.

Правильно ли я вас понял: создать с помощью AHK некое виртуальное устройство ввода-вывода, не привязанное к системному курсору и клавиатурному вводу, невозможно?
Честно, на сколько это себе представлял я, AHK собой такое устройство и представляет...

ок, подойдём к вопросу креативнее: можно ли создать в Win7 рабочий стол со своим набором устройств ввода, параллельно работающий с основным и управляемый AHK?

конечная цель - управление виртуальной машиной из хоста с помощью AHK, не мешая при этом работе пользователя.
Как крайняя мера пока рассматривается создание в виртуальной машине ещё одной, но как то меня напрягает производительность такой "матрёшки"...

6

Re: AHK: Настройка вывода в виртуальную машину VMware?

Признаюсь, не готов к столь софистическому рассуждению, как «можно ли считать приложение, использующее функции win api синтезирующие нажатия и клики, виртуальным устройством ввода-вывода»

7

Re: AHK: Настройка вывода в виртуальную машину VMware?

creature.ws пишет:

Признаюсь, не готов к столь софистическому рассуждению, как «можно ли считать приложение, использующее функции win api синтезирующие нажатия и клики, виртуальным устройством ввода-вывода»

боюсь не готов к тонкому троллингу и бану за флуд, так что просто признаю, что не прав, однако проблема остаётся, тогда подойду к этому иначе: предположим я запущу ещё 1 виртуалку параллельно, можно ли будет их(2 виртуалки), так сказать, "наложить друг на друга", "скрепить" их устройства ввода-вывода?

8

Re: AHK: Настройка вывода в виртуальную машину VMware?

AHK - относительно красивая ширма, за которой стоит некоторое количество логики и вызовов системных функций, не более.
Иметь «виртуальное устройство ввода, управляемое при помощи скриптового языка» воспринимаемое системой как реально подключенное — отличное желание, к AHK имеющее посредственное отношение. Увы, сомневаюсь, что в данной теме кто-либо предложит вам вариант реализации этого замечательного «желания».
Попробуйте «спрятать» AHK другим способом

9

Re: AHK: Настройка вывода в виртуальную машину VMware?

Что-то мне подсказывает, что я вас неправильно понял

Если цель — отправить нажатие клавиши или клик мыши в N-е количество свёрнутых окон VMware — используйте ControlSend или ControlClick.

10

Re: AHK: Настройка вывода в виртуальную машину VMware?

creature.ws пишет:

Что-то мне подсказывает, что я вас неправильно понял

Если цель — отправить нажатие клавиши или клик мыши в N-е количество свёрнутых окон VMware — используйте ControlSend или ControlClick.

тоже об этом подумал почитав соответствующий топик, однако возникло 2 вопроса: можно ли из свёрнутого окна прочитать цвет пикселя и не пропадёт ли на мгновение фокус с активного окна(может ли мне в таком случае AHK помешать, например, смотреть видео на тытрубе в фулскрине)...

11

Re: AHK: Настройка вывода в виртуальную машину VMware?

Из свёрнутого окна прочитать цвет пикселя нельзя, оно же свёрнуто

12

Re: AHK: Настройка вывода в виртуальную машину VMware?

creature.ws пишет:

Из свёрнутого окна прочитать цвет пикселя нельзя, оно же свёрнуто

Готов спорить: например во многих играх есть опция выставляющая отрисовку в свёрнутом состоянии, в дьябло 3, к примеру, вообще для такой опции даже минимальный фпс выставляется... для подобных окон, например, миниатюры(при наведении на значёк запущенного приложения в панели инструментов) рисуются с анимацией, к ним кстати относятся и большинство плееров - рендеринг видео проводится там всегда...
Но ок, а что если я перемещу окно за пределы рабочего стола(так чтобы только уголок торчал)?

13

Re: AHK: Настройка вывода в виртуальную машину VMware?

Что вам мешает попробовать?

14

Re: AHK: Настройка вывода в виртуальную машину VMware?

creature.ws пишет:

Что вам мешает попробовать?

лень) если не сработает(а не факт), то пара часов на впиливание в то как это работает пропадёт...

На самом деле спасибо, думаю на неделе всё же попробую, обязательно отпишу о результатах)

15

Re: AHK: Настройка вывода в виртуальную машину VMware?

eker пишет:

Имеется Win7, на ней VMware, там такая же Win7.
Задача:
Исполнять все команды AHK только в гостевой ОС.

На сколько я понял можно попробовать создать на виртуалке и хосте по COM порту, так что, если нет иных идей, вопрос сводится к тому как выводить все действия AHK в COM-порт...

Пайпы(если виртулка в том же домене, что и реальная) или сокеты.