Discussion:
CLSID von Verzeichnissen
(zu alt für eine Antwort)
Peter Müller
2009-01-16 05:49:54 UTC
Permalink
Gibt es eine Möglichkeit herauszufinden, welche CLSID ein Verzeichnis hat?
Hans-Peter Matthess
2009-01-16 15:33:15 UTC
Permalink
Post by Peter Müller
Gibt es eine Möglichkeit herauszufinden, welche CLSID ein Verzeichnis hat?
Verzeichnisse haben grundsätzlich keine CLSID. Siehe auch
http://sysinfo.org/bholist.php

hpm
Peter Müller
2009-01-18 15:54:36 UTC
Permalink
Also in "Windows Registry Hacks" von Data Becker wurde das aber so
beschrieben. Und so daneben sind die nicht, wie ich selber schon
feststellen konnte. Wenn man ein Verzeichnis anlegt, mit dem Namen
"Systemsteuerung.{21EC2020-3AEA-1069-A2DD-08002B30309D}", dann hat man
ein Verzeichnis, was im Explorer aussihet wie die Systemsteuerung. Aber
man sieht dann nicht mehr ".{21EC2020-3AEA-1069-A2DD-08002B30309D}". Und
ich möchte sehen, ob sich so eine Nummer hinter einem Verzeichnis
befindet und wenn ja, welche.
Joachim Culmann
2009-01-18 20:40:21 UTC
Permalink
Post by Peter Müller
Also in "Windows Registry Hacks" von Data Becker wurde das aber so
beschrieben. Und so daneben sind die nicht, wie ich selber schon
feststellen konnte. Wenn man ein Verzeichnis anlegt, mit dem Namen
"Systemsteuerung.{21EC2020-3AEA-1069-A2DD-08002B30309D}", dann hat man
ein Verzeichnis, was im Explorer aussihet wie die Systemsteuerung. Aber
man sieht dann nicht mehr ".{21EC2020-3AEA-1069-A2DD-08002B30309D}". Und
ich möchte sehen, ob sich so eine Nummer hinter einem Verzeichnis
befindet und wenn ja, welche.
Hallo Landesvater,
die Class ID (ClsID) ist einen einmalige Identifikationsnummer (Globally
Unique Identifier) für COM-Klassen (Schnittstellen).

Unter \HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\ sind alle
Identifikatiosnnummer deines Systems in Unterschlüsseln aufgelistet.
Durch die Analyse der Unter/Unterschlüsseln kannst du herausfinden, was
sich dahinter verbirgt.
Ich kann mich allerdings schwach daran erinnern, mal gelesen zu haben,
dass man einem Verzeichnis eine ClsID zuordnen kann. Aber generell
findet eine solche Zuordnung nicht statt.

Unter http://sysinfo.org/bholist.php findet man im Internet eine Liste,
die aber nicht umfassend ist. Die von dir angegebene Kennziffer der
Systemsteuerung ist z.B. dort nicht zu finden, wohl aber in meiner
Registry. Die in der Systemsteuerung zusammengefasste Programme
(Erweiterung cpl) befinden sich in unterschiedlichen Verzeichnissen und
werden nur in diesem "virtuellen Ordner" zusammenfassend aufgezeigt.

Grüße Culles (Saarländer)
Hans-Peter Matthess
2009-01-18 21:37:43 UTC
Permalink
Post by Peter Müller
Also in "Windows Registry Hacks" von Data Becker wurde das aber so
beschrieben. Und so daneben sind die nicht, wie ich selber schon
feststellen konnte. Wenn man ein Verzeichnis anlegt, mit dem Namen
"Systemsteuerung.{21EC2020-3AEA-1069-A2DD-08002B30309D}", dann hat man
ein Verzeichnis, was im Explorer aussihet wie die Systemsteuerung. Aber
man sieht dann nicht mehr ".{21EC2020-3AEA-1069-A2DD-08002B30309D}".
Scheint schon ein etwas älteres Buch zu sein, hm? ;-)
In diesem Beispiel geht es aber nicht um gewöhnliche Verzeichnisse,
sondern um Shell-Ordner wie Systemsteuerung, Netzwerkumgebung,
Papierkorb usw...
Diese Systemobjekte haben eine CLSID und können darüber auch
angesprochen werden, siehe
http://www.winfaq.de/faq_html/Content/tip0000/onlinefaq.php?h=tip0354.htm
Post by Peter Müller
Und
ich möchte sehen, ob sich so eine Nummer hinter einem Verzeichnis
befindet und wenn ja, welche.
Wie gesagt, Verzeichnisse haben keine CLSID. Um welches Verzeichnis
genau geht es denn?

hpm
Thomas D.
2009-01-19 19:42:31 UTC
Permalink
Hallo,
Post by Hans-Peter Matthess
Post by Peter Müller
Also in "Windows Registry Hacks" von Data Becker wurde das aber so
beschrieben. Und so daneben sind die nicht, wie ich selber schon
feststellen konnte. Wenn man ein Verzeichnis anlegt, mit dem Namen
"Systemsteuerung.{21EC2020-3AEA-1069-A2DD-08002B30309D}", dann hat man
ein Verzeichnis, was im Explorer aussihet wie die Systemsteuerung. Aber
man sieht dann nicht mehr ".{21EC2020-3AEA-1069-A2DD-08002B30309D}".
Scheint schon ein etwas älteres Buch zu sein, hm? ;-)
In diesem Beispiel geht es aber nicht um gewöhnliche Verzeichnisse,
sondern um Shell-Ordner wie Systemsteuerung, Netzwerkumgebung,
Papierkorb usw...
Diese Systemobjekte haben eine CLSID und können darüber auch
angesprochen werden, siehe
http://www.winfaq.de/faq_html/Content/tip0000/onlinefaq.php?h=tip0354.htm
Post by Peter Müller
Und
ich möchte sehen, ob sich so eine Nummer hinter einem Verzeichnis
befindet und wenn ja, welche.
Wie gesagt, Verzeichnisse haben keine CLSID. Um welches Verzeichnis
genau geht es denn?
JFYI:
Es gibt selbstverständlich die Möglichkeit "Shellanpassungen" vorzunehmen
und diese mit einem Verzeichnis zu verknüpfen. Microsoft hat dies bspw. bei
dem "Verzeichnis" "Fonts" gemacht. Aber auch bei "Temporary Internet Files"
usw. - alles Verzeichnisse die mit einer Shellanpassung über CLSIDs
verbunden sind.

Geh bspw. mal hin und erstelle einen neuen Ordner. Nenne ihn:

"Fonts.{D20EA4E1-3957-11d2-A40B-0C5020524152}"

...nun staune ;-)

Ich vermute, dass der OP so etwas meint.



Grüße,
Thomas
--
Grüße,
Thomas
Helmut Rohrbeck
2009-01-19 23:06:59 UTC
Permalink
Post by Thomas D.
Grüße,
Thomas
Hallo Thomas, in letzter Zeit fällt auf, dass Du bei allen Deinen
Beiträgen die Signatur doppelt hinzufügst: Einmal ohne und einmal
mit Signaturabtrennung. Stelle das doch mal gelegentlich ab.
--
Helmut Rohrbeck [MVP]
http://www.helmrohr.de/Kontakt.htm
Mail nur über das Kontaktformular
auf meiner Webseite!
Thomas D.
2009-01-20 18:24:16 UTC
Permalink
Post by Helmut Rohrbeck
Post by Thomas D.
Grüße,
Thomas
Hallo Thomas, in letzter Zeit fällt auf, dass Du bei allen Deinen
Beiträgen die Signatur doppelt hinzufügst: Einmal ohne und einmal
mit Signaturabtrennung. Stelle das doch mal gelegentlich ab.
Danke für den Hinweis!

Problem erkannt und behoben ;-)
--
Grüße,
Thomas
Hans-Peter Matthess
2009-01-19 23:56:57 UTC
Permalink
Post by Thomas D.
Es gibt selbstverständlich die Möglichkeit "Shellanpassungen" vorzunehmen
und diese mit einem Verzeichnis zu verknüpfen. Microsoft hat dies bspw. bei
dem "Verzeichnis" "Fonts" gemacht. Aber auch bei "Temporary Internet Files"
usw. - alles Verzeichnisse die mit einer Shellanpassung über CLSIDs
verbunden sind.
"Fonts.{D20EA4E1-3957-11d2-A40B-0C5020524152}"
Haja, das is doch'n alter Hut. Speziel Für Vista funktioniert
das mit der genannten CLSID für die Systemsteuerung allerdings
gerade nicht. Versuche es mal und staune. <g>
Post by Thomas D.
...nun staune ;-)
<gähn> Genau das, was du da schriebst, war doch der Inhalt meines Links
zur WinFAQ. ;-)
Post by Thomas D.
Ich vermute, dass der OP so etwas meint.
Möglich, er sprach allerdings allgemein von Verzeichnissen.
Eine Liste gängiger CLSIDs hat er ja nun erhalten.

hpm
Thomas D.
2009-01-20 18:36:19 UTC
Permalink
Hallo Hans-Peter Matthess,
Post by Hans-Peter Matthess
<gähn> Genau das, was du da schriebst, war doch der Inhalt meines Links
zur WinFAQ. ;-)
Ich hatte nur die Tabelle gesehen, den darüber stehenden Absatz jedoch
nicht.

Entschuldige ;-)
--
Grüße,
Thomas
Peter Müller
2009-01-21 05:52:19 UTC
Permalink
Post by Hans-Peter Matthess
Scheint schon ein etwas älteres Buch zu sein, hm? ;-)
Ist zwar schon älter, bezieht sich auf XP. Ich gehe davon aus, dass sich
bei Vista da nicht viel geändert hat.
Post by Hans-Peter Matthess
In diesem Beispiel geht es aber nicht um gewöhnliche Verzeichnisse,
sondern um Shell-Ordner wie Systemsteuerung, Netzwerkumgebung,
Papierkorb usw...
Man kann auch beliebig eigene Verzeichnisse mit einer eigenen CLSID
ausstatten.
Post by Hans-Peter Matthess
Wie gesagt, Verzeichnisse haben keine CLSID. Um welches Verzeichnis
genau geht es denn?
Aktuell geht es es um das Musik-Verzeichnis, aber ich möchte auch Herr
über alle Verzeichnisse werden.
Thomas D.
2009-01-21 14:31:52 UTC
Permalink
Hallo Peter Müller,
Post by Peter Müller
Post by Hans-Peter Matthess
Scheint schon ein etwas älteres Buch zu sein, hm? ;-)
Ist zwar schon älter, bezieht sich auf XP. Ich gehe davon aus, dass sich
bei Vista da nicht viel geändert hat.
Post by Hans-Peter Matthess
In diesem Beispiel geht es aber nicht um gewöhnliche Verzeichnisse,
sondern um Shell-Ordner wie Systemsteuerung, Netzwerkumgebung,
Papierkorb usw...
Man kann auch beliebig eigene Verzeichnisse mit einer eigenen CLSID
ausstatten.
Post by Hans-Peter Matthess
Wie gesagt, Verzeichnisse haben keine CLSID. Um welches Verzeichnis
genau geht es denn?
Aktuell geht es es um das Musik-Verzeichnis, aber ich möchte auch Herr
über alle Verzeichnisse werden.
Ich verstehe doch noch nicht so ganz...

Dann registriere Deine Anpassung im System und weise einem Ordner diese
CLSID zu. Du weißt ja wie es geht.

Geht es Dir darum bei allen Ordnern sich einzuklinken, ohne für jeden
CLSIDs zu setzen, wirst Du Dich in die Shell mit Hooks einklinken müssen.
Hier hilft MSDN weiter.

Evtl. möchtest Du uns mitteilen, was eigentlich Dein Ziel ist...
--
Grüße,
Thomas
Hans-Peter Matthess
2009-01-21 17:51:28 UTC
Permalink
Post by Peter Müller
Post by Hans-Peter Matthess
Scheint schon ein etwas älteres Buch zu sein, hm? ;-)
Ist zwar schon älter, bezieht sich auf XP. Ich gehe davon aus, dass sich
bei Vista da nicht viel geändert hat.
Es hat sich einiges geändert, siehe z.B. dein Beispiel für die
Systemsteuerung. Das funktioniert mit Vista nicht mehr.
Post by Peter Müller
Post by Hans-Peter Matthess
In diesem Beispiel geht es aber nicht um gewöhnliche Verzeichnisse,
sondern um Shell-Ordner wie Systemsteuerung, Netzwerkumgebung,
Papierkorb usw...
Man kann auch beliebig eigene Verzeichnisse mit einer eigenen CLSID
ausstatten.
Siehe z.B. hier:
http://www.windowspage.de/frame.php?http://www.windowspage.de/gemeinsame/desktop/shellfolder.html
http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1510.htm

Ich wüßte nur nicht, warum ich eigenen Objekten eine CLSID verpassen
sollte. Was würde das in der Praxis verbessern oder erleichtern?
Post by Peter Müller
Post by Hans-Peter Matthess
Wie gesagt, Verzeichnisse haben keine CLSID. Um welches Verzeichnis
genau geht es denn?
Aktuell geht es es um das Musik-Verzeichnis, aber ich möchte auch Herr
über alle Verzeichnisse werden.
Definiere "Herr über Verzeichnisse werden". Was bedeutet das? Das besagt
so genau gar nichts.
Um Herr über alle Verzeichnisse zu sein, muss man deren CLSID weder
kennen noch ihnen eine zuweisen. Ich jedenfalls bin hier schon lange
Herr über alle meine Verzeichnisse. ;-)

hpm
Peter Müller
2009-01-22 19:48:24 UTC
Permalink
Ich kann ein Verzeichnis

LaberSülz.{01234567-89AB-CDEF-0123-456789012345}

anlegen. Wenn ich das Explorerfenster schließe und wieder eines öffne
und mir das Verzeichnis anschaue, sehe ich nur, dass es ein Verzeichnis
LaberSülz gibt. Wenn nun zwischenzeitlich vergessen habe, wie ich das
Verzeichnis angelegt habe, tappe ich im Dunkeln, ob bei dem Verzeichnis
noch etwas mehr angegen wurde und welche Zahlen sind dann bei dem
{????????-????-????-????-????????????} Teil verwendet worden?
Helmut Rohrbeck
2009-01-22 23:45:18 UTC
Permalink
Post by Peter Müller
Ich kann ein Verzeichnis
LaberSülz.{01234567-89AB-CDEF-0123-456789012345}
anlegen. Wenn ich das Explorerfenster schließe und wieder eines öffne und mir das Verzeichnis anschaue, sehe ich nur, dass es ein
Verzeichnis LaberSülz gibt. Wenn nun zwischenzeitlich vergessen habe, wie ich das Verzeichnis angelegt habe, tappe ich im Dunkeln,
ob bei dem Verzeichnis noch etwas mehr angegen wurde und welche Zahlen sind dann bei dem {????????-????-????-????-????????????}
Teil verwendet worden?
Ja. Mit "LaberSülz" hast Du auch eine passende Bezeichnung für Dein
Thema gewählt.
--
Helmut Rohrbeck [MVP]
http://www.helmrohr.de/Kontakt.htm
G. Born
2009-01-23 08:19:52 UTC
Permalink
Post by Peter Müller
LaberSülz.{01234567-89AB-CDEF-0123-456789012345}
anlegen. Wenn ich das Explorerfenster schließe und wieder eines öffne
und mir das Verzeichnis anschaue, sehe ich nur, dass es ein
Verzeichnis LaberSülz gibt. Wenn nun zwischenzeitlich vergessen habe,
wie ich das Verzeichnis angelegt habe, tappe ich im Dunkeln, ob bei
dem Verzeichnis noch etwas mehr angegen wurde und welche Zahlen sind
dann bei dem {????????-????-????-????-????????????} Teil verwendet
worden?
Peter, irgendwie dreht sich die Diskussion im Kreis.

Microsoft hat in der Shell die Möglichkeit vorgesehen, die Darstellung eines
Ordners über den zugehörigen Class ID-Code gesondert zu behandelt (z. B. um
die Funktion des Ordners "Eigene Musik", "Eigene Bilder", Systemsteuerung
etc. zu beeinflussen). Dies setzt aber voraus, dass der betreffende
ClsID-Handler irgendwo in der Shell registriert ist (Thomas D. hat das ja
mal angedeutet).

Wie HPM aber bereits ausführte, wurde die Shell in Vista an einigen Stellen
überarbeitet, so dass die alten Ansätze aus Win XP nicht mehr funktionieren
(die betreffenden ClsID-Handler sind imho nicht mehr vorhanden oder erwarten
andere "Parameter" - hab mir nie die Mühe gemacht, da detailliert zu graben,
weil das Ganze ziemlich esotherisch wird).

Entweder, Du nimmst das so hin ...

... oder Du wirfst den Registrierungseditor an und schaust unter HKCR nach,
welche "Namespaces" es für Shell-Objekte gibt. Anschließend wird dir niemand
verwehren, wenn Du die ClsIds dieser Namespaces mit dem von dir "geliebten"
Ordnertrick durchprobierst. Vielleicht wirst Du an bestimmten Stellen
fündig - dann freu dich. Aber das Ansinnen, was Du im Eingangsposting
erhebst, gibt es imho unter Vista nicht.

HTH
--
Gruß

G. Born
Blog: http://gborn.blogger.de
Hans-Peter Matthess
2009-01-23 13:16:47 UTC
Permalink
Post by Peter Müller
Ich kann ein Verzeichnis
LaberSülz.{01234567-89AB-CDEF-0123-456789012345}
anlegen. Wenn ich das Explorerfenster schließe und wieder eines öffne
und mir das Verzeichnis anschaue, sehe ich nur, dass es ein Verzeichnis
LaberSülz gibt. Wenn nun zwischenzeitlich vergessen habe, wie ich das
Verzeichnis angelegt habe, tappe ich im Dunkeln, ob bei dem Verzeichnis
noch etwas mehr angegen wurde und welche Zahlen sind dann bei dem
{????????-????-????-????-????????????} Teil verwendet worden?
Ganz einfach: Rechtsklick auf das Verzeichnis -> Eigenschaften.
Dort sieht man oben neben dem Icon oder darunter unter "Typ" die
CLSID.
Die Methode, mit der du "Herr über Verzeichnisse" werden willst,
ist allerdings recht umständlich. :-)
Um die Systemsteuerung aufzurufen, erstellt man einfach ein Link mit dem
Befehl "control.exe" oder "rundll32.exe Shell32.dll,Control_RunDLL"
Ebenso lassen sich beliebige andere Systemmodule über "control.exe"
aufrufen. Dazu muss man nicht erst einen Ordner erstellen, dessen Namen
man eine CLSID anhängt.

hpm
Peter Müller
2009-02-02 20:09:51 UTC
Permalink
Post by Hans-Peter Matthess
Ganz einfach: Rechtsklick auf das Verzeichnis -> Eigenschaften.
Dort sieht man oben neben dem Icon oder darunter unter "Typ" die
CLSID.
Ich konnte die CLSID dort noch nicht entdecken. Ich habe mal die
Eigenschaften vom Musik Verzeichnis geöffnet. Ich habe da die Reiter
"Pfad", "Vorgängerversionen", "Anpassen", "Allgemein", "Freigabe",
"Sicherheit". Wo soll die CLSID stehen?
Hans-Peter Matthess
2009-02-02 23:23:20 UTC
Permalink
Post by Peter Müller
Post by Hans-Peter Matthess
Ganz einfach: Rechtsklick auf das Verzeichnis -> Eigenschaften.
Dort sieht man oben neben dem Icon oder darunter unter "Typ" die
CLSID.
Ich konnte die CLSID dort noch nicht entdecken. Ich habe mal die
Eigenschaften vom Musik Verzeichnis geöffnet. Ich habe da die Reiter
"Pfad", "Vorgängerversionen", "Anpassen", "Allgemein", "Freigabe",
"Sicherheit". Wo soll die CLSID stehen?
Du schriebst ja auch von selbst angelegten Verzeichnissen:
| Wenn nun zwischenzeitlich vergessen habe, wie ich das
| Verzeichnis angelegt habe, tappe ich im Dunkeln, ob bei dem Verzeichnis
| noch etwas mehr angegen wurde und welche Zahlen sind dann bei dem
| {????????-????-????-????-????????????} Teil verwendet worden?

Da ist das auf die beschriebene Weise feststellbar.
Ansonsten musst du die CLSID eben in der Registrierung suchen.
Aber noch mal: unnötige Arbeit, denn mit den wenigsten CLSIDs
kann man auf diese Weise Verzeichnisse erstellen. Wozu auch?
Man kann zu jedem Verzeichnis, wie auch zu "Musik" ja beliebig viele
Verknüpfungen erstellen. Dein Vorhaben ist geradezu erschreckend
sinnlos.

hpm
Thomas D.
2009-02-03 13:25:01 UTC
Permalink
Hallo,
Dein Vorhaben ist geradezu erschreckend sinnlos.
Ganz genau! ;-)

Womit wir wieder zur Frage vom Anfang kommen:
Was genau ist Dein Ziel?

Du scheinst irgendetwas bestimmtes zu wollen was niemand versteht, doch
Dein Weg um dies zu erreichen scheint dabei falsch zu sein...

Daher: Sag uns doch endlich einmal, *was* genau Du *weswegen* möchtest.
--
Grüße,
Thomas
Peter Müller
2009-02-08 18:17:41 UTC
Permalink
Jetzt habe ich mal probiert, ein Verzeichnis ein anderes Icon zu
verpassen und ich ich sehe es jetz auch, dass, was unter XP ging, nicht
mehr unter Vista geht.

An für sich sollte ich meine Frag zunächst aml anders formulieren:
Wie kann ich unter Vista das Icon eines beliebigen Verzeichnis verändern?
Helmut Rohrbeck
2009-02-08 21:27:37 UTC
Permalink
Post by Peter Müller
Jetzt habe ich mal probiert, ein Verzeichnis ein anderes Icon zu
verpassen und ich ich sehe es jetz auch, dass, was unter XP ging,
nicht mehr unter Vista geht.
Wie kann ich unter Vista das Icon eines beliebigen Verzeichnis
verändern?
Rechtsklick auf einen ordner im Windows Explorer, Eigenschaften.
Auf der Registerkarte "Anpassen" "Anderes Symbol..." anklicken.
--
Helmut Rohrbeck [MVP)
www.helmrohr.de/Feedback.htm
Ingo Böttcher
2009-02-08 23:06:34 UTC
Permalink
Post by Peter Müller
Wie kann ich unter Vista das Icon eines beliebigen Verzeichnis verändern?
Eigenschaften des Ordners, Anpassen, Symbol ändern
--
Und tschüß | Bitte nach Möglichkeit keine Rückfragen per Mail. Ich lese
Ingo | die Gruppen, in denen ich schreibe.
| Die E-Mail Adresse ist gültig, bitte nicht verstümmeln!
Lesen Sie weiter auf narkive:
Loading...