Wann immer ich versuche mithilfe der Codezeile
Shell(„C:\Dateipfad\Datei.typ“)
eine Datei in VB zu öffnen, wird mir erklärt, dass die Datei an diesem Ort nicht existiert.
Ich habe das mehrmals nachgeprüft. Die Datei ist da und lässt sich ohne weiteres ausführen.
Im fertigen Programm sollte sich beim klicken auf einen Button eine Datei in einem neuen Fenster öffnen. (im aktuellen Fall ein mp3-Sound)
Ich habe zwar keine Ahnung, ob ich richtig liege, aber ich unterstelle einfach 'mal, daß die Sound-Datei abgespielt werden soll.
Vielleicht hilft ja da das Multimedia-Control weiter. Damit kannst Du Sound-Dateien direkt aus Deiner Anwendung heraus abspielen lassen. Ob dieses Control allerdings auch mp3 unterstützt, kann ich nicht mit Bestimmtheit sagen.
Die Unterstellung stimmt und das mit dem Media-Control klingt
echt gut.
Wie funktioniert das?
Das kommt darauf. es gibt viele Wege, wie an es machen könnte. Ein Weg wäre halt über das Media Control.
Ich selbst würde es lieber mit API Aufrufen gestalten
Hier habe ich etwas auf die schnelle gefunden. Schau es dir einfach mal an
Shell startet ein Programm. Deine Sounddatei ist aber allein nicht ausführbar. Du musst also ein Programm starten und Deine Datei als Parameter übergeben, dem Programm sagen, daß es die Datei abspielen soll. Wenn das der Mediaplyer sein soll, kann das so aussehen:
Shell „C:\Programme\Windows Media Player\wmplayer.exe C:\Test.mp3“
Die Unterstellung stimmt und das mit dem Media-Control klingt echt gut.
Wie funktioniert das?
Also, bevor ich anfange: Wir reden hier über VB6.
Falls Du (wie ich) keine Ahnung von API hast und doch lieber mit dem Control arbeiten möchtest, kannst Du das so machen:
Öffne das Formular, auf dem das MM-Control gebraucht wird.
Klicke im Menü ‚Projekt‘ auf ‚Komponenten‘.
Suche in der Liste das ‚Microsoft Multimedia Control‘ und setze dort das Häkchen.
Beende den Dialog mit ‚Ok‘, dann steht Dir in Deiner Werkzeugsammlung das Control zur Verfügung.
Ziehe ein MM-Control auf Dein Formular.
Wechsle jetzt zum Code-Fenster des Formulares und schreibe folgenden Code ins ‚Form_Load‘-Ereignis: