Die Community zu .NET und Classic VB.
Menü

MP3 Property Sheet Shell Extension

 von 

Beschreibung und Download  


Abbildung 1: Bildschirmfoto von MP3 Property Sheet Shell Extension unter Windows 2000 und Windows 98

Dies ist eine Shellerweiterung für den Eigenschaftendialog von MP3-Dateien (*.mp3). Alle Schnittstellen, API-Funktionen, Strukturen, Konstanten und Enumerationen, die für diese Shellerweiterung benötigt werden, sind in der Typbibliothek PropSheetExt.tlb deklariert.

Um mögliche Fragen zu beantworten, schaut euch das folgende FAQ an:

Frage: Ich will das Projekt testen, was muss ich tun?

Antwort: Öffne den Ordner Release, doppelklicke die Datei .MP3 Install.reg, doppelklicke die Datei .DLL Install.bat. Die Shellerweiterung ist nun installiert und registriert. Starte den Windows Explorer und lass dir die Eigenschaften einer MP3-Datei (*.mp3) anzeigen, es sollte eine zusätzliche Eigenschaftenseite zu sehen sein.

Frage: Ich will meine eigene Property Sheet Shell Extension schreiben, wie fange ich an?

Antwort: Verwende dieses Projekt als Grundlage, befolge die folgenden Schritte:

  • Kopiere das Projekt in einen neuen Ordner.

  • Lösche die Datei Mp3PropSheetExt.dll (wichtig!).

  • Stelle sicher, dass sich die Datei PropSheetExt.tlb im Systemverzeichnis befindet und registriert ist.

  • Öffne das Projekt, öffne dann die Projekteigenschaften und stelle auf der Seite „Komponente“ bei „Versionskompatibilität“ den Wert „Projektkompatibilität“ ein.

  • Kompiliere Mp3PropSheetExt.dll, und wechsle anschließend wieder zu den Projekteigenschaften. Stelle unter „Versionskompatibilität“ den Wert „Binärkompatibilität“ ein. Du musst das so machen, damit deine DLL eine einmalige CLSID besitzt.

  • Lösche die DLL nie, sonst geht die Binärkompatibilität verloren.

  • Wenn du die DLL schreibst, dann musst du sie nicht jedes Mal in den Systemordner kopieren und registrieren, das wäre sehr umständlich. Deshalb kannst du sie im Ordner Release lassen. Falls du aber vor hast, die DLL zu veröffentlichen, dann sorge dafür, dass sie im Systemverzeichnis des Benutzers installiert wird!

  • Schließe den Eigenschaftendialog des Windows Explorers bevor du eine neue Version der DLL kompilierst, andernfalls erhältst du eine Fehlermeldung von VB.

  • Lies die restlichen Fragen dieses FAQ!

  • Das war’s, nun kannst du loslegen.

Frage: Wie komme ich an die CLSID die in den Registrierungsdateien (*.reg) verwendet wird?

Antwort: Die steht in der Systemregistrierung, nachdem du deine DLL kompiliert und mit regsvr32 registriert hast. Ein Beispiel:

Der VB-Projektname lautet „Mp3PropSheetExt“, die Eigenschaftenseitenklasse heißt PSHandler.cls. Daraus ergibt sich der Registrierungsschlüssel, der die CLSID enthält: HKEY_CLASSES_ROOT\Mp3PropSheetExt.PSHandler\Clsid.

In diesem Beispiel lautet sie „52633C18-7AD8-11D9-B016-DBF68E853D19“. Da die CLSID einmalig sein muss, musst du eine andere verwenden, deshalb habe ich in der vorherigen Antwort auch geschrieben, dass du die vorhandene DLL löschen und die Versionskompatibilität ändern sollst. Dadurch bekommt deine DLL dann eine eigene CLSID.

Frage: Wie erstelle ich eine Ressourcendatei (*.res)?

Antwort: Erstelle zunächst ein Ressourcenskript (*.rc). Das kannst du mit einem Texteditor machen, mit dem Programm ResEd, mit dem Programm Resource Hacker oder einem anderen Ressourceneditor. Ich hab in diesem Beispiel Resource Hacker zur Hilfe genommen.

WICHTIG: Falls du Windows 9x verwendest, füge folgende Zeile in die Datei C:\CONFIG.SYS ein: shell=C:\COMMAND.COM /e:8192 /p. Warum? Die Stapelverarbeitungsdatei zum Kompilieren der *.res-Datei verwendet Umgebungsvariablen, unter Windows 9x ist der Puffer für Umgebungsvariablen sehr klein und wenn er nicht ausreicht funktioniert die Stapelverarbeitungsdatei nicht! Du musst den Rechner neu starten, damit die Änderung der CONFIG.SYS wirksam wird.

Weitere Fragen können im Forum von ActiveVB gestellt werden.

Projekt MP3 Property Sheet Shell Extension 1.0 (MP3PSSE.zip, ca. 146 KB) 

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 2 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Alfred am 27.11.2005 um 10:40

Hey
Mustergültig präsentiert und beschrieben. Gut implementiert - und - es funktioniert.
Kompliment - und besten Dank!
Alfred

Kommentar von Peter Körner am 07.11.2005 um 15:15

Sehr, sehr Cool -- Ich hab mich immer schon gefragt wie man sowas macht. Mir fällt bestimmt noch die eine oder andere verwendung dafür ein.

Vielen Dank,
Gruß, Peter