Dateien mit Visual C++ 2013 öffnen?

Guten Tag erstmal.

Ich möchte mit C++ (Visual Studio 2013 Express) eine Funktion schreiben die eine bestimmte Datei mit dem jeweiligen Standardprogramm öffnet. Konkret handelt es sich dabei um Audio und Video Dateien. Also ich geb zum Beispiel den Namen eines am Pc gespeicherten Liedes ein, und dieses soll dann vom Media Player abgespielt werden.

Würde mich freuen wenn mir von euch jemand weiterhelfen könnte. 

Danke!

Hallo Andi Kedl,

viel kann ich dazu nicht sagen, da ich seit einigen Jahren nur noch in ANSI-C (Mikrocontroller) und in VisualBasic programmiere.
Aber deine Aufgabenstellung klingt nicht sehr kompliziert. Vorausgesetzt die mp3-Dateien sind enstprechend dem enthaltenen Lied benannt, kann man z.B. eine Suchfunktion konstruieren, die anhand des Titels die entsprechende Datei heraussucht. Die gefundene Datei öffnet man dann am einfachsten in einer Shell.

Viele Grüße
Franz Peter

Aha ok. Das Problem ist nur, dass ich noch nie mit Shell gearbeitet habe. Beziehungsweise noch nie etwas davon gehört. Somit kann nicht wirklich viel damit anfangen.

Es müsste doch eine .NET Funktion oder Klasse die so etwas kann geben oder??

Howdy,

Es müsste doch eine .NET Funktion oder Klasse die so etwas
kann geben oder??

das mag wohl sein, aber da bist du hier in diesem Forum fehl am Platze. Hier geht es um Standard C bzw. C++ und das hat keine .net Klassen. Du kannst aber versuchen, mittels system(cmd) ein korrektes Kommando abzusetzen.

Dazu kommt, was ich aber nicht überprüfen kann, da ich nur Linux verwende, dass mittels

START datei

in der Shell (früher mal?) das verknüpfte Kommando gestartet werden konnte…

Ich würde also als erstes

system(„start lied.mp3“)

ausprobieren.

Gruss
E.

Alles klar hat prima funktioniert!! Komisch dass ich für eine einzelne Codezeile das halbe Internet absuchen musste.
Aber auf jeden Fall herzlichen Dank für die Hilfe!!

LG
A. Kedl

Leider bin auch ich nicht der perfekte Ansprechpartner, da ich zwar etwas Ahnung von .NET habe, aber wenig von C.

Dennoch: Wenn du in .NET programmierst und du suchst bestimmte Funktionen oder hast allgemeine Fragen, versuch es bei Google immer auch mit dem Suchbegriff msdn. MSDN ist eine Sammlung von Dokumentationen und Anleitungen für .NET im Allgemeinen, unter anderem bestimmt auch für .NET-C++ im Speziellen.

Wenn du zum Beispiel nach „msdn .net c++ audio“ suchst, sieht das zweite Ergebnis doch recht gut aus (Ich kann warum auch immer keine Links hier reinkopieren…).

Kleine Erklärung zu Eirikr rauois Aussage mit der Shell: Sein Vorschlag war - was ja auch geklappt hat - anstatt eine Funktion von .NET direkt zu benutzen, über den Aufruf „system()“ einen Befehl zu verwenden, den das System bereitstellt, und zwar "start ". Du könntest bspw. die Eingabeaufforderung öffnen (das ist im Endeffekt die „Shell“), das ist dieses schwarze Fenster (cmd.exe) und dort ebenfalls START lied.mp3 eingeben und das System würde die lied.mp3-Datei starten. Wenn du also in deinem C+±Programm schreibst system(„START lied.mp3“), dann passiert unter der Oberfläche letztlich das gleiche, wie wenn du ein Shell-Fenster öffnest und das selbst eingibst.
Nur zur Erläuterung, wie gesagt - die Methode ist sicherlich nicht schlechter oder besser als eine direkt Funktion der .NET-Programmbibliotheken zu verwenden.

Was du suchst ist die Api-Funktion „ShellExecute“… mit der Aktion „open“ als Parameter.

Jemrija

Hallo!
Schau’ Dir dazu einfach mal System::smiley:iagnostics::stuck_out_tongue:rocess an, damit kannst Du Anwendungen starten.

Gruß,
Martin