Symbol im Arbeitsplatz



  • Hallo,
    wie bekomme ich am besten ein zusätzliches Symbol in den Arbeitsplatz?
    Soll ich einen Treiber für ein virtuelles Laufwerk schreiben oder kann ich da noch was ähnliches wie Netzwerk irgendwie einfügen?
    Und vor allem wie geht das?

    danke

    Ole



  • Also,
    man kann einfach ein paar Einträge in die Registry packen und schon kommt dein Symbol.
    In meinem Arbeitsplatz ist so ein Extra-Symbol aber ich hab leider vergessen wie ich das geschaft hab aber versuchs mal so (hab ich auch gemacht):

    Data Exchange Soft von Siemens
    -Das Prog. installieren (is direkt von Siemens)
    -das Porgramm setzt auch so ein Symbol in den Arbeitsplatz
    -du musst dir einfach nur genau angucken wie das Programm es schaft das das Symbol erscheint
    -und dann halt nachmachen... (aber was ich noch weiss: du brauchst einen CLSID-Eintrag mit einer Nummer die es noch nicht gibt..)

    Mfg ZR



  • Es wäre auch sehr Praktisch zu wissen was dieses Symbol dann machen soll...



  • Genau so ein Symbol meine ich - mir bleibt aber nichts anderes übrig, als die ganze Registry zu durchsuchen, oder?



  • Also ich hoff mal das was jetzt kommt ist das, was du willst!
    Ich mach mal ein Beispiel wie du ein solches Symbol für das Programm "MeinProgramm" in den Arbeitsplatz kriegst!

    Also das Programm ist in C:\MeinProgramm! Dort befindet sich die MeinProgramm.exe, die ausgeführt werden soll und das MeinIcon.ico, das im Arbeitsplatz dargestellt werden soll!

    Als erstes musst du dir ne eigene CLSID in der Registry erstellen! Ich nehme {AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E} !

    Ich schreib mal die fertigen Schlüssel hin, die du Brauchst:

    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\DefaultIcon
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\InProcServer32
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\Shell
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\Shell\Open MeinProgramm
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\Shell\Open MeinProgramm\Command
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\ShellEx
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\ShellEx\PropertySheetHandlers
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\ShellEx\PropertySheetHandlers\{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}
    HKEY_CLASSES_ROOT\CLSID{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}\ShellFolder
    

    So! Dann
    setzt du den Standardwert des Schlüssels DeafultIcon auf den Pfad des Icons,
    also "C:\MeinProgramm\MeinIcon.ico"!

    setzt den Standardwert von InProcServer32 auf "shell32.dll" und erstellst ebenfalls in InProcServer32 eine neue Zeichenfolge mit dem Namen ThreadingModel und setzt dessen Wert auf Apartment!

    setzt beim Standardwert von Shell\Open MeinProgramm\Command den Pfad der exe oder was du sonst eben starten willst ein. In diesem Beispiel "C:\MeinProgramm\MeinProgramm.exe"!

    erstellst du einen neuen Binärwert in ShellFolder mit dem Namen Attributes und weist ihm den Wert 00 00 00 00 zu!

    Nun hast du dir eine eigene CLSID gemacht und kannst unter HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace einen neuen Schlüssel mit dem Namen der ID erstellen! Also hier HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\{AB2CD9E1-A3F3-9AEC-CA1A-DE32AD1F331E}!

    Das war's eigentlich! Je nachdem wie du's abänderst musst du natürlich den Schlüssel Shell\Open MeinProgramm anders benennen usw...

    EDIT: Ich hab WinXP! Keine Ahnung, ob das bei Win98 und Co funzt!



  • OK, danke, nur wird das leider nicht bin nden Speicherdialogen angezeigt...



  • 😕 😕 😕 Klär mich mal einer auf!!! ??? Was is mit Speicherdialogen??? Mir is im Moment nich so ganz klar, was du willst!



  • Das Symbol soll, wie z.B. Aktenkoffer und Netzwerkumgebung, im Arbeitsplatz und in den Speicherdialogen erscheinen und als Speicherort auswählbar sein. Nur, dass das die Daten nicht auf der lokalen Festplatte speichert, sondern an mein Prog. gibt, wie bei der Netzwerkumgebung ja auch, und mein Porg. dann was damit machen kann (wie das Prog. hinter der Netzwerumgebung die Daten an einenanderen Computer schickt...


Anmelden zum Antworten