[Delphi] Kleines Dos Tool für Winamp

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von Fuselmeister, 2. Januar 2009 .

  1. 2. Januar 2009
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Kleines Dos Tool für Winamp

    Mir ging das schon länger aufn Geist, dass wenn ich auf eine Datei doppel klicke, winamp immer meine ganze Playlist löscht und nur noch die Datei abspielt. Letztens hab ich nen kleines Tools dafür gecodet und will es euch nicht vorenthalten.

    Das kleine Tool verändert die Registryeinträge der Winampdateien so, dass wenn man auf z.B. mp3-Dateien doppelklickt nicht mehr die ganze Playlist gelöscht wird und nur noch diese Datei abgespielt wird, sondern die Datei in die Playlist eingereiht wird. Also eigentlich das gleiche als Wenn man auf "In Winamp einreihen" klickt. Hat der Vorteil, dass man nicht mehr ausversehen seine Playlist schrotten kann^^

    Download gibts hier

    Bild

    Wenn einer Interesse hat wie man das veranstaltet, hier ist der Source. Hab aber nix Kommentiert müsst euch also selbst durchwühlen^^ Aber es heißt ja auch Mit Source ist es wie mit Kunst, hauptsache der Künstler versteht's
    Spoiler
    Code:
    program WMP_Rebinder;
    
    {$APPTYPE CONSOLE}
    
    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs,Registry;
    
    var
     Reg: TRegistry;
     EXT: TStringList;
    
     CMD: string;
     CLS: string;
     Dir: string;
     TMP: string;
    
     i: integer;
    
    const
     Open = '" /ADD "%1"';
     ID = '{77A366BA-2BE4-4a1e-9263-7734AA3E99A2}';
    
    procedure GetWinampDir;
    begin
     Reg.RootKey := HKEY_CURRENT_USER;
     Reg.OpenKey('Software\Winamp', False);
     Dir := Reg.ReadString('') + '\winamp.exe';
     Writeln('Winamp gefunden (' + Dir + ')');
     if not FileExists(Dir) then
     begin
     Write('Winamp wurde nicht gefunden. Bitte geben Sie den Dateinamen ein:');
     Readln(Dir);
     end;
    
     if not FileExists(Dir) then
     repeat
     Write('Dateiname ungueltig. Erneute eingeben: ');
     Readln(Dir);
     until FileExists(Dir);
    end;
    
    begin
     Reg := TRegistry.Create;
     Writeln('WMP Rebinder');
     Writeln(#175#175 + ' Aendert den oeffnen Befehl zum einreihen Befehl');
     Writeln(#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205);
     GetWinampDir;
     Writeln;
     Write('Lade Dateierweiterungen ');
     EXT := TStringList.Create;
     EXT.Add('669');
     EXT.Add('AAC');
     EXT.Add('aiff');
     EXT.Add('amf');
     EXT.Add('ASF');
     EXT.Add('au');
     EXT.Add('AVI');
     EXT.Add('avr');
     EXT.Add('caf');
     EXT.Add('CDA');
     EXT.Add('far');
     EXT.Add('FLAC');
     EXT.Add('FLV');
     EXT.Add('htk');
     EXT.Add('iff');
     EXT.Add('it');
     EXT.Add('itz');
     EXT.Add('KAR');
     EXT.Add('M2V');
     EXT.Add('M4A');
     EXT.Add('mat');
     EXT.Add('mdz');
     EXT.Add('MID');
     EXT.Add('MIDI');
     EXT.Add('MIZ');
     EXT.Add('mod');
     EXT.Add('MP1');
     EXT.Add('MP2');
     EXT.Add('MP3');
     EXT.Add('MP4');
     EXT.Add('MPEG');
     EXT.Add('MPG');
     EXT.Add('mtm');
     EXT.Add('NSA');
     EXT.Add('nst');
     EXT.Add('NSV');
     EXT.Add('OGG');
     EXT.Add('okt');
     EXT.Add('paf');
     EXT.Add('ptm');
     EXT.Add('pvf');
     EXT.Add('raw');
     EXT.Add('RMI');
     EXT.Add('sm3');
     EXT.Add('s3z');
     EXT.Add('sd2');
     EXT.Add('sds');
     EXT.Add('sf');
     EXT.Add('stm');
     EXT.Add('stz');
     EXT.Add('SWF');
     EXT.Add('utl');
     EXT.Add('VLB');
     EXT.Add('voc');
     EXT.Add('w64');
     EXT.Add('wav');
     EXT.Add('WMA');
     EXT.Add('WMV');
     EXT.Add('xi');
     EXT.Add('xm');
     EXT.Add('xmz');
     Writeln('Fertig');
     Writeln;
     Writeln;
     Writeln(' '+#201#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#187);
     Writeln(' '+#186 + ' Es werden Eintraege der Registry geandert! ' + #186);
     Writeln(' '+#186 + ' Abbrechen mit Strg+C, weiter mit beliebiger Taste ' + #186);
     Writeln(' '+#200#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#205#188);
     Writeln;
     Writeln;
     Readln;
     Reg.RootKey := HKEY_LOCAL_MACHINE;
     Writeln(#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196#196);
     Writeln(#175 + ' Change Winamp.File entry');
     Reg.OpenKey('SOFTWARE\Classes\Winamp.File\shell\open\command\', True);
     Reg.WriteString('', CMD);
     Reg.OpenKey('SOFTWARE\Classes\Winamp.file\shell\open\DropTarget\', True);
     Reg.WriteString('Clsid', ID);
    
     for i := 0 to EXT.Count -1 do
     begin
     try
    
     Writeln(#175 + ' Change Winamp.File.' + Ext.Strings[i] + ' entry');
     Reg.CloseKey;
     Reg.OpenKey('SOFTWARE\Classes\Winamp.File.' + EXT.Strings[i] + '\shell\open\command', False);
     Write(' ->' + Reg.CurrentPath);
     Reg.DeleteValue('');
     Reg.WriteString('', CMD);
     Writeln(' DONE');
     Reg.CloseKey;
     Reg.OpenKey('SOFTWARE\Classes\Winamp.File.' + EXT.Strings[i] + '\shell\open\DropTarget', False);
     Write(' ->' + Reg.CurrentPath);
     Reg.DeleteKey('Clsid');
     Reg.CreateKey('Clsid');
     Reg.WriteString('Clsid', ID);
     Writeln(' DONE');
     Reg.CloseKey;
     Reg.OpenKey('SOFTWARE\Classes\Winamp.File.' + EXT.Strings[i] + '\shell\Play\command', False);
     Write(' ->' + Reg.CurrentPath);
     Reg.DeleteValue('');
     Reg.WriteString('', CMD);
     Writeln(' DONE');
     Reg.CloseKey;
     Reg.OpenKey('SOFTWARE\Classes\Winamp.File.' + EXT.Strings[i] + '\shell\Play\DropTarget', False);
     Write(' ->' + Reg.CurrentPath);
     Reg.DeleteKey('Clsid');
     Reg.CreateKey('Clsid');
     Reg.WriteString('Clsid', ID);
     Writeln(' DONE');
     Writeln;
    
     except
     Writeln('!! FEHLER !!');
     end;
     end;
    
     Writeln;
     Writeln('Finished');
    end.
     
  2. 2. Januar 2009
    AW: Kleines Dos Tool für Winamp

    ist zwar schön das du dafür ein tool geschrieben hast,

    aber ein einfacher klick unter winamp optionen -> Dateitypen -> Dateien beim Doppelklick im Windows Explorer einreihen hätte es auch getan ?!^^
     
  3. 2. Januar 2009
    AW: Kleines Dos Tool für Winamp

    Gibt doch schon die Winamp-Funktion "Enqueue in Winamp", wenn du das einfach in den Optionen auf Default setzt hast du den gleichen effekt ;D
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.