VLC media player aktuelle Song löschen Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

KHA
Posts: 155
Joined: 21 Aug 2018, 11:11

VLC media player aktuelle Song löschen

26 Jun 2019, 17:06

Hallo,
bei VLC gibt es leider keine Möglichkeit aktuell laufende Song zu löschen, da dachte ich es mir, mit AHK könnte ich das nachrüsten.
Leider, komme ich da nicht wirklich weiter.

Code: Select all

#SingleInstance, force

SetTitleMatchMode, 2
CoordMode, Mouse , Client

#IfWinExist, VLC media player 
+Delete:: ;Umschalt + Entfernen

;Medieninformationen aufrufen um an den Pfad des aktuell gespielten Song zu kommen
;Strg+i oder Werkzeuge => Medieninformationen

;WinMenuSelectItem, VLC media player, , Werkzeuge, Medieninformationen ;funktioniert nicht
;WinMenuSelectItem, VLC media player, , 6&, 5& ;funktioniert nicht
;ControlSend , , {Ctrl Down}i{Ctrl Up}, VLC media player ;funktioniert nicht
ControlSend , , ^i, VLC media player ;Das hier funktioniert leider sporadisch
Sleep, 300
If !WinExist("Aktuelle Medieninformationen")
{
Msgbox, Aufruf des Fensters "Aktuelle Medieninformationen" hat nicht funktioniert
Return
}

;Wurde das Fenster "Aktuelle Medieninformationen" aufgerufen, dann 3x auf das Feld Ort Klicken um den Pfad zu markieren
/*
ControlClick,  x332 y69, Aktuelle Medieninformationen,,,, Pos
sleep, 200
ControlClick,  x332 y69, Aktuelle Medieninformationen,,,, Pos
sleep, 200
ControlClick,  x332 y69, Aktuelle Medieninformationen,,,, Pos
sleep, 200
*/
ControlClick, x100 y352, VLC media player,, Left, 3

Sleep, 300

ClipSave := % Clipboard ;Inhalt der Zwischenablage speichern
Clipboard = ;Zwischenablage leeren
ControlSend , , ^c, Aktuelle Medieninformationen ;Den Pfad in die zwischenablage Speichern
ClipWait, 2
if ErrorLevel
{
MsgBox, Es wurde nicht kopiert!
Return
}

;Fenster Aktuelle Medieninformationen schließen

if WinExist("Aktuelle Medieninformationen")
{
WinClose, Aktuelle Medieninformationen
}
Sleep, 300

;ein N an VLC schicken, damit nächste Song abgespielt wird und zuvor abgespielte Titel zum Löschen freigegeben wird

ControlSend , , n, VLC media player
Sleep, 300
FileDelete, %Clipboard%
if ErrorLevel
{
MsgBox, Es wurde keine Datei gelöscht!
}

Clipboard := % ClipSave ;Inhalt der zuvor gespeicherten Zwischenablage wiederherstellen.
Return
#IfWinExist
Habe versucht den Script so gut wie möglich zu kommentieren

Danke und schöne Grüße
Last edited by KHA on 27 Jun 2019, 15:25, edited 1 time in total.
User avatar
Ragnar
Posts: 260
Joined: 30 Sep 2013, 15:25

Re: VLC media player aktuelle Song löschen  Topic is solved

27 Jun 2019, 02:42

Code: Select all

#SingleInstance, force

SetTitleMatchMode, 2
SetKeyDelay,, 1 ; Erhöht die Zuverlässigkeit von ControlSend
CoordMode, Mouse, Client

#IfWinExist, VLC media player
+Delete:: ; Umschalt + Entfernen
ControlSend,, ^j, VLC media player
WinWait, Aktuelle Medieninformationen,, 1
if ErrorLevel
{
    Msgbox, Aufruf des Fensters "Aktuelle Medieninformationen" hat nicht funktioniert
    return
}
WinActivate
ClipSave := Clipboard ; Inhalt der Zwischenablage speichern
Clipboard = ; Zwischenablage leeren
loop, 100 ; Steuerelemente durchgehen, um Pfad zu finden
{
    ControlSend,, ^c ; Inhalt kopieren
    if InStr(Clipboard, "\") ; Wenn Pfad ...
    {
        Pfad := Clipboard ; Pfad speichern
        break ; Schleife unterbrechen
    }
    ControlSend,, {Tab} ; Zum nächsten Steuerelement navigieren
}
Clipboard := ClipSave ; Inhalt der zuvor gespeicherten Zwischenablage wiederherstellen
if not Pfad
{
    MsgBox, Pfad nicht gefunden
    return
}
WinClose
; ein N an VLC schicken, damit nächste Song abgespielt wird und zuvor abgespielte Titel zum Löschen freigegeben wird
ControlSend,, n, VLC media player
MsgBox, 4, Löschen, Soll %Pfad% gelöscht werden?
IfMsgBox Yes
{
    FileDelete, %Pfad%
    if ErrorLevel
        MsgBox, Es wurde keine Datei gelöscht!
}
KHA
Posts: 155
Joined: 21 Aug 2018, 11:11

Re: VLC media player aktuelle Song löschen

27 Jun 2019, 15:31

Dankeschön, funktioniert!
Super Idee mit der Loop.

Code: Select all

loop, 100 ; Steuerelemente durchgehen, um Pfad zu finden
{
    ControlSend,, ^c ; Inhalt kopieren
    if InStr(Clipboard, "\") ; Wenn Pfad ...
    {
        Pfad := Clipboard ; Pfad speichern
        break ; Schleife unterbrechen
    }
    ControlSend,, {Tab} ; Zum nächsten Steuerelement navigieren
}

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: Bing [Bot] and 13 guests