Dateitypverknüfung Registry HKEY_CLASSES_ROOT

25/01/2008 - 10:46 von Jens Müller | Report spam
Hallo,

ich habe dies schon in einer Windows-Registry Gruppe gefragt und leider
keine Antwort erhalten. Es betreifft ein VB-Programm also passt es doch
etwas hier rein und das Know-How ist bestimmt auch da.

Ich will mein Programm starten aus dem Kontextmenü beliebiger Dateien
und Verzeichnisse (àhnlich Winrar: "add to archive"). Hierzu suche ich
eine Dokumentation zu den Möglichkeiten in HKEY_CLASSES_ROOT, fand aber
nichts, auch nicht in der MSDN.

Konkrete Fragen:
HKEY_CLASSES_ROOT\* ist für alle Dateien, jedoch nicht für
Verzeichnisse. Wo liegt dann der Unterschied zwischen
HKEY_CLASSES_ROOT\Folder und HKEY_CLASSES_ROOT\Directory?

Gefunden habe ich auch HKEY_CLASSES_ROOT\AllFilesystemObjects, das
scheint das zu sein, was ich möchte. Gibt es das auch schon in Win9x?

Der Standard-Eintrag im Schlüssel
HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\meinEintrag\Command hat
als Platzhalter für die Übergabe der Datei %1. Bei mehreren markierten
Dateien und Auswahl des Kontextmenüeintrags sollten alle Dateien als
Parameter übergeben werden. Stattdessen wird meine exe mehrmals
aufgerufen. Ich habe %1 %2 %3... versucht und %*, was aber nichts
ànderte. Außerdem soll es noch %l für lange Dateinamen geben, jedoch
werden auch mit %1 lange Dateinamen übergeben.

Es gibt auch noch den Weg über shellex\ContextMenuHandlers, das geht
glaube ich über COM, verkompliziert aber hier nur die Sache.

Danke!
Jens
 

Lesen sie die antworten

#1 Thorsten Doerfler
25/01/2008 - 12:08 | Warnen spam
Jens Müller schrieb:
Ich will mein Programm starten aus dem Kontextmenü beliebiger Dateien
und Verzeichnisse (àhnlich Winrar: "add to archive"). Hierzu suche ich
eine Dokumentation zu den Möglichkeiten in HKEY_CLASSES_ROOT, fand aber
nichts, auch nicht in der MSDN.

Konkrete Fragen:
HKEY_CLASSES_ROOT\* ist für alle Dateien, jedoch nicht für
Verzeichnisse. Wo liegt dann der Unterschied zwischen
HKEY_CLASSES_ROOT\Folder und HKEY_CLASSES_ROOT\Directory?



Laut MSDN bezieht sich Folder auf alle Ordner und Directory auf
Dateiordner. Wo auch immer der konkrete Unterschied liegt.

Gefunden habe ich auch HKEY_CLASSES_ROOT\AllFilesystemObjects, das
scheint das zu sein, was ich möchte. Gibt es das auch schon in Win9x?



Ab Shell Version 4.71. Also Win98 und Win95 + IE4.

Siehe:
Registering Shell Extensions
http://msdn2.microsoft.com/en-us/li...76852.aspx

Der Standard-Eintrag im Schlüssel
HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\meinEintrag\Command hat
als Platzhalter für die Übergabe der Datei %1. Bei mehreren markierten
Dateien und Auswahl des Kontextmenüeintrags sollten alle Dateien als
Parameter übergeben werden. Stattdessen wird meine exe mehrmals
aufgerufen.



Siehe gestrigen Thread:
Command$ an geöffnete Instanz leiten
<news:
http://groups.google.de/group/micro...7adf8664f1

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen