
Hat es jemand geschafft, Autohotkey mit VLC zum Laufen zu bringen?
^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
Habe diese verwendet (für jedes eine andere Methode) und sie funktionieren nicht. Die Skripte funktionieren übrigens mit iTunes.
Antwort1
Versuchen Sie, die VLC HTTP Interface Library zu verwenden. Ich hoffe, das hilft Ihnen weiter … Dies ist eine Bibliothek mit den HTTP-Schnittstellenbefehlen für den VLC Media Player.
Hier sind einige Vorteile der Verwendung von VLCHTTP und VLC Media Player:
VLC muss NICHT das aktive Fenster sein, um HTTP-Funktionen zu verwenden und stört daher nicht andere Fenster.
HTTP-Funktionen können über das Internet, lokale Netzwerke oder auf einem Computer verwendet werden.
VLC kann auf jedem Monitor im Vollbildmodus wiedergegeben werden, nicht nur auf dem Standardmonitor.
VLC wird im Vollbildmodus auf dem Monitor geöffnet, auf dem der Medienlink angeklickt wurde.
VLC verlässt den Vollbildmodus nicht, wenn es den Fokus verliert. Spielen Sie einen Film auf einem Monitor ab und arbeiten Sie auf dem anderen.
Beispiel:
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
Weitere Informationen finden Sie unterdieser Link.
Antwort2
Ihr ControlSend-Befehl sollte wahrscheinlich andere Parameter haben (lesen Sie die Hilfedatei für weitere Informationen). Dies funktioniert auf meinem PC (Win7 32):
^#Space::
SetTitleMatchMode, 2
ControlSend, , {space}, VLC media player
Return
Es stellt sich heraus, dass Sie keine Steuerelement-ID benötigen: VLC akzeptiert Leerzeichen in jedem Steuerelement (oder zumindest im obersten Steuerelement). Das Problem mit Ihrem Code war meiner Meinung nach, dass Sie sowohl die Fensterklasse als auch den Text aus dem Titel verwendet haben, um das Fenster zu identifizieren: Sie sollten nur das eine oder das andere verwenden, nicht beides.
Ich stelle den Titelübereinstimmungsmodus immer auf 2 (= Wörter können überall im Titel stehen), weil das die meisten Titel erfasst und intuitiver funktioniert (ich bin zu faul, um zu testen, ob es mit einem anderen Übereinstimmungsmodus funktioniert).
Antwort3
Sie können es auch mit IfWinExist machen, sodass Sie den VLC-Elternnamen nur einmal angeben müssen. Hier ist der Code, den ich verwende.
#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