Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Winamp
cwer
myCSharp.de - Member



Dabei seit:
Beiträge: 11

Themenstarter:

Winamp

beantworten | zitieren | melden

Hallo,

ich suche irgendein Weg auf Winamp zuzugreifen (Dateien in Playlist hinzufügen, Play, Pause...).
Bin für jede Hilfe dankbar.

mfg Christoph
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo cwer,

hinzufügen geht schon u.a. schon mal so:


Process p = new Process();
p.StartInfo.FileName = @"c:\\Programme\\Winamp\\winamp.exe";
p.StartInfo.Arguments = "/add "+ file;
p.Start ();
herbivore
private Nachricht | Beiträge des Benutzers
cwer
myCSharp.de - Member



Dabei seit:
Beiträge: 11

Themenstarter:

beantworten | zitieren | melden

Danke für die schnelle Antwort, aber es scheint so als komme dieser Befehl nicht mit
Leerzeichen zurecht. Also im Dateinamen dürfen keine Leerzeichen vorkommen sonst interpretiert das Winamp als mehrere Dateien.

mfg Christoph
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

beantworten | zitieren | melden

Also habs jetzt nur direkt von der Shell aus getestet, aber da reicht es wenn man denn Dateinamen in Anführungszeichen setzt und er hält es für eine Datei.

Müsste dann wohl so im Code aussehen:


p.StartInfo.Arguments = "/add "+ "\"" + file + "\"";
private Nachricht | Beiträge des Benutzers
LordK
myCSharp.de - Member

Avatar #avatar-2065.png


Dabei seit:
Beiträge: 95
Herkunft: Hessen

beantworten | zitieren | melden

Fall du eine Winamp Steuerung über die Window Messages machen willst findest du hier eine überblick über die Messages die du schicken kannst. Winamp SDK

Weiterhin findest du beim Code Projekt ein Tutorial wie du die Window Message mit Winamp benutzen kannst. Das Beispiel ist zwar nur um den Song Title rauszubekommen, aber ich glaube das läßt sich gut ableiten.

Gruß

LordK
Programmieren in C# hält die grauen Zellen am Leben.
Es schärft alle fünf Sinne: den Schwachsinn, den Blödsinn, den Wahnsinn, den Unsinn und den Stumpfsinn.
private Nachricht | Beiträge des Benutzers
cwer
myCSharp.de - Member



Dabei seit:
Beiträge: 11

Themenstarter:

beantworten | zitieren | melden

Danke für die Antworten, werde ich gleich mal ausprobieren.

MfG Christoph
private Nachricht | Beiträge des Benutzers
-acid-
myCSharp.de - Member



Dabei seit:
Beiträge: 891
Herkunft: Hessen

beantworten | zitieren | melden

@cwer: Wäre schön, wenn du zukünftig mal dein Thema etwas genauer definierst als einfach nur "Winamp" das Schlüsselwort Steuererung oder Zugriff hätte viel bewirkt.
private Nachricht | Beiträge des Benutzers
ikarus7
myCSharp.de - Member



Dabei seit:
Beiträge: 53

beantworten | zitieren | melden

Zusatzfrage : wie kann mein Programm herausfinden, in welchem verzeichnis winamp installiert ist ?
private Nachricht | Beiträge des Benutzers
-acid-
myCSharp.de - Member



Dabei seit:
Beiträge: 891
Herkunft: Hessen

beantworten | zitieren | melden

Ich weiß nicht ob es ne Suchmethode gibt, aber wenn nicht, könntest du einfach alle Verzeichnisse nach der exe durchsuchen (dauert bestimmt ewig) - wie das wohl andre machen?!
private Nachricht | Beiträge des Benutzers
Bernhard
myCSharp.de - Member



Dabei seit:
Beiträge: 119

beantworten | zitieren | melden

Zitat
Zusatzfrage : wie kann mein Programm herausfinden, in welchem verzeichnis winamp installiert ist ?

Zum Beispiel über WMI:


public static string GetSoftwareLocation(string name) {
	ManagementClass productClass  = new ManagementClass("Win32_Product");

	foreach(ManagementObject product in productClass.GetInstances()) {
		string productName = (string)product.GetPropertyValue("Name");
		if (productName.Contains(name)) {
			return (string)product.GetPropertyValue("InstallLocation"); ;
		}
	}

	return null;
}

Hat bei mir zumindestens mal mit Adobe Reader und Kaspersky
funktioniert, mit mehr hab ich es dann auch nicht mehr getestet.
Ich habe nämlich Winamp nicht installiert ..

grüße
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo ikarus7,

brute-force aber simpel wäre aus der Registry den Wert von

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Winamp.File\shell\open\command

auszulesen.

herbivore
private Nachricht | Beiträge des Benutzers
ikarus7
myCSharp.de - Member



Dabei seit:
Beiträge: 53

beantworten | zitieren | melden

ok, zwei fragen :

1. was muss ich noch einbinden um WMI nutzen zu können,

2. wie lese ich einen solchen Registrystring aus ? konnte das bisher nur mit Delphi ...
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo ikarus7,

zu 1. Such mal im Forum nach WMI. Da solltest du alles nötige finden.

zu 2. siehe Registry

herbivore
private Nachricht | Beiträge des Benutzers