
Удалось ли кому-нибудь заставить Autohotkey работать с VLC?
^numpad6::
DetectHiddenWindows , On
ControlSend , ahk_parent, !{right}, VLC Media Player
DetectHiddenWindows , Off
return
^numpad4::
DetectHiddenWindows , On
ControlSend , ahk_parent, !{left}, VLC Media Player ahk_class QWidget
DetectHiddenWindows , Off
return
^#space::
DetectHiddenWindows , On
ControlSend , ahk_parent, {space}, ahk_class QWidget
DetectHiddenWindows , Off
return
Использовал их (разный метод для каждого) и они не работают. Кстати, скрипты работают с Itunes.
решение1
Попробуйте использовать VLC HTTP Interface LIbrary, надеюсь, это вам поможет... Это библиотека команд http-интерфейса для VLC Media Player.
Вот некоторые преимущества использования VLCHTTP и VLC Media Player:
VLC НЕ обязательно должен быть активным окном для использования HTTP-функций и, следовательно, не мешает работе других окон.
Функции HTTP можно использовать через Интернет, локальные сети или на одном компьютере.
VLC может воспроизводить видео в полноэкранном режиме на любом мониторе, а не только на мониторе по умолчанию.
VLC откроется на весь экран того монитора, на котором была нажата ссылка на медиафайл.
VLC не выходит из полноэкранного режима при потере фокуса. Смотрите фильм на одном мониторе и работайте на другом.
Пример:
Gui, Add, Button, gButton1, Play/Pause
Gui, Add, Button, gButton2, Volume Up
Gui, Show
Return
Button1:
VLCHTTP_Pause() ; Use pause instead of play to toggle play/pause mode.
Return
Button2:
VLCHTTP_VolumeUp(1) ; Turns the volume up 1 step.
Return
Более подробную информацию можно найти на сайтеэта ссылка.
решение2
Ваша команда ControlSend, вероятно, должна иметь другие параметры (для получения дополнительной информации прочтите файл справки). Это работает на моем ПК (Win7 32):
^#Space::
SetTitleMatchMode, 2
ControlSend, , {space}, VLC media player
Return
Оказывается, вам не нужен никакой идентификатор элемента управления: VLC примет пробел в любом элементе управления (или, по крайней мере, в самом верхнем элементе управления). Проблема с вашим кодом, как мне кажется, была в том, что вы использовали и класс окна, и текст из заголовка для идентификации окна: вам просто нужно использовать один или другой, а не оба.
Я всегда устанавливаю режим соответствия заголовков на 2 (= слова могут быть в любом месте заголовка), потому что это позволяет распознать большинство заголовков и работает более интуитивно (мне лень проверять, работает ли это с другим режимом соответствия).
решение3
Вы также можете сделать это с помощью IfWinExist, чтобы вам пришлось указать имя родителя VLC только один раз. Вот код, который я использую.
#IfWinExist ahk_class QWidget
Media_Next::
ControlSend, ahk_parent, n ; Next
return
Media_Prev::
ControlSend, ahk_parent, p ; Previous
return
Media_Play_Pause::
ControlSend, ahk_parent, {Space} ; Play/Pause
return
Media_Stop::
ControlSend, ahk_parent, s ; Stop
return
#IfWinExist