1

Тема: AHK: не работают хоткеи при управлении виртуальными машинами

Работаю с виртуалками в vmware vSphere Client и проблема в том, что при управлении виртуалкой хоткеи срабатывают только если они находятся в скриптах запущенных на той же виртуальной машине.

Видимо, приложение перехватывает весь ввод с клавиатуры на себя и скрипт просто не видит того, что хоткеи были нажаты.

Та же проблема и при работе с виртуалками через веб-интерфейс (там только через флэш-плагин из-под IE это всё работает).

Как-то можно это обойти?

2 (изменено: Selja8, 2014-07-11 11:08:37)

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Нужен низкоуровневый ХУК. AutoIt -это может, а в AHK не уверен что такое возможно.

3

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Drugoy, ты из хоста посылаешь хоткей в гостевую OC, и этот хоткей не видится, так ?

4

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Hydrogenium, да, верно, именно так.
Приложения типа VMware vSphere Client видмо имеют какие-то столь мощные хуки, что они полностью перехватывают ввод на себя, что автохоткейные скрипты на хосте не видят нажатий с клавиатуры и мыши вообще.

Selja8,
а в AutoIt это как сделать? (я никогда AutoIt не пользовался, но говорят, синтаксисы у них похожие и многие команды пересекаются).

5 (изменено: Hydrogenium, 2014-07-15 05:27:22)

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Drugoy пишет:

Hydrogenium, да, верно, именно так.

Надо посылать через SendInput + MapVirtualKey

6 (изменено: Drugoy, 2014-07-16 10:46:30)

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Hydrogenium,
я погуглил и попытался понять как оно должно работать, но что-то застопорился.
Если вам не трудно - приведите, пожалуйста пример, как, скажем, по f12 выдавать msgbox или активировать окно "calc.exe", если активно окно с виртуалкой и оно перехватываёт всё.

7 (изменено: Hydrogenium, 2014-07-16 12:42:29)

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Drugoy, я могу привести вам код на делфи, ну а дальше сам (спрашивай у гуру AHK как конвертнуть)

+ открыть спойлер

procedure SimulateKey(Key: byte);
var
  Inp: TInput;
begin
  Inp.Itype := INPUT_KEYBOARD;
  Inp.ki.wVk := Key;
  Inp.ki.wScan := MapVirtualKey(Key, 0);

  // KEYDOWN
  Inp.ki.dwFlags := 0;
  SendInput(1, Inp, SizeOf(Inp)); 

  // KEYUP
  Inp.ki.dwFlags := KEYEVENTF_KEYUP;
  SendInput(1, Inp, SizeOf(Inp));
end;

Key: byte - это шестнадцатеричное число http://it.kgsu.ru/Delphi_6/pril2.html
т.е хотите нажать F10, вызываете так SimulateKey($79)

8

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Drugoy пишет:

Selja8,
а в AutoIt это как сделать? (я никогда AutoIt не пользовался, но говорят, синтаксисы у них похожие и многие команды пересекаются).

На AutoIT .

https://www.google.ru/url?sa=t&rct= … mp;cad=rjt

9

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Hydrogenium и Selja8, спасибо.
к сожалению, с delfi не знаком совсем, а вот скрипт autoIt'овский попробую.

10

Re: AHK: не работают хоткеи при управлении виртуальными машинами

А это чем не подходит http://forum.script-coding.com/viewtopic.php?id=6350.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11 (изменено: Selja8, 2014-07-28 15:50:19)

Re: AHK: не работают хоткеи при управлении виртуальными машинами

serzh82saratov пишет:

А это чем не подходит?

Вроде подходит, а реализовать то как?

12

Re: AHK: не работают хоткеи при управлении виртуальными машинами

serzh82saratov пишет:

А это чем не подходит http://forum.script-coding.com/viewtopic.php?id=6350.

тем, что попробовав скрипт из того примера - хоткеи не срабатывают, если активно окно виртуальной машины (проверял на vmWare vSphere Client и vmWare Workstation 8).

13

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Ясно, а как на AU дела продвигаются?

14

Re: AHK: не работают хоткеи при управлении виртуальными машинами

Selja8 пишет:

Ясно, а как на AU дела продвигаются?

Ой, совсем забыл отписаться: не, тоже не работает.