1 (изменено: Anger666, 2015-03-23 23:24:35)

Тема: AHK:Выполнение разных действий в зависимости от активных окон

Подскажите,пожалуйста, как правильно переписать этот скрипт?

RButton::
if WinActive ahk_class XBMC
  Send {Backspace} ; на пульте кнопка "стрелочка назад" - бекспейс
else if WinActive TotalMedia
  Send {Enter} ; на пульте кнопка "ОК" - энтер
else
  KeyWait, % A_ThisHotkey
  if (A_TimeSinceThisHotkey >= 2000)
     Shutdown, 12
  else
     Send {RButton}
Return

LButton::
if WinActive ahk_class XBMC
  Send {Enter} ; на пульте кнопка "ОК" - энтер
else
  Send {LButton}
Return

Volume_Mute::
if WinActive ahk_class XBMC or WinActive TotalMedia or WinActive ahk_class PotPlayer
  Send {!F4} ; на пульте кнопка "выключить кромкость(нижняя)" - выход
else
  Send {Volume_Mute}
Return

LWin::
if WinActive ahk_class XBMC
  Send {VKB4} ; на пльте кнопка "меню" - контекстное меню
else if WinActive TotalMedia
  Send {RButton} ; на пльте кнопка "меню" - контекстное меню
else
  Send {LWin}
Return

Volume_Up::
if WinActive ahk_class XBMC
  Send {z} ; на пульте кнопка "увеличить громкость" - добавить канал в избранное или изменить кроп
else if WinActive ahk_class PotPlayer
  Send {!a} ; на пульте кнопка "увеличить громкость" - переключить аудиодорожку
else
  Send {Volume_Up}
Return

Volume_Down::
if WinActive ahk_class XBMC
  Send {y} ; на пульте кнопка "уменьшить громкость" - удалить канал из избранного
else if WinActive ahk_class PotPlayer
  Send {!h} ; на пульте кнопка "уменьшить громкость" - вкл/выкл субтитры
else
  Send {Volume_Down}
Return

2

Re: AHK:Выполнение разных действий в зависимости от активных окон

Anger666, ознакомьтесь с этой темой, отредактируйте заголовок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: yalanne, 2015-03-24 03:50:34)

Re: AHK:Выполнение разных действий в зависимости от активных окон

#ifwinactive ahk_class ahk_class XBMC
RButton::Send {Backspace} ; на пульте кнопка "стрелочка назад" - бекспейс
LButton::Send {Enter} ; на пульте кнопка "ОК" - энтер
Volume_Mute::Send {F4}
#ifwinactive

#ifwinactive TotalMedia
RButton::Send {Enter} ; на пульте кнопка "ОК" - энтер
Volume_Mute::Send {F4}
LWin::Send {RButton}
#ifwinactive

#ifwinactive ahk_class PotPlayer
Volume_Mute::Send {F4}
#ifwinactive

Вот так подойдёт?

4

Re: AHK:Выполнение разных действий в зависимости от активных окон

Как обработать этот участок когда?

  KeyWait, % A_ThisHotkey
  if (A_TimeSinceThisHotkey >= 2000)
     Shutdown, 12
  else
     Send {RButton}

Мне нужно отследить, если ПКМ нажата больше 2 сек то выключать комп.

5

Re: AHK:Выполнение разных действий в зависимости от активных окон

Посмотрите в этой теме, под 4ым пунктом.

6

Re: AHK:Выполнение разных действий в зависимости от активных окон

Я смотрел. Мне подходит код, который я выше написал. Но куда его вставить в предложенный вами?
Просто в конце написать:

  
RButton::
KeyWait, % A_ThisHotkey
  if (A_TimeSinceThisHotkey >= 2000)
     Shutdown, 12
  else
     Send {RButton}

Так будет работать?

7

Re: AHK:Выполнение разных действий в зависимости от активных окон

Почитай в справке про KeyWait и сам найдешь решение.

Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.