Drucker verknüpfung per win API.



  • hallo,
    ich möchte gerne eine Verknüpfung zum Drucker.
    Die passende Win API habe ich schon.

    z.b. Der Pfad für Desktop ist...
    C:\\WINDOWS\\system32\\desk.cpl

    für den Drucker gibt es keine cpl.

    in regedit heist der CLSID:
    {2227A280-3AEA-1069-A2DE-08002B30309D}

    Wie heist der Pfad für den Drucker?



  • Fast gleich, mit zwei ':' als Prefix:

    ::{2227A280-3AEA-1069-A2DE-08002B30309D}
    

    Eingabeauf.: explorer ::{2227A280-3AEA-1069-A2DE-08002B30309D}



  • ok,thx
    das geht...

    pSHL->SetPath("C:\\test.exe");
    

    Mein Problem...

    pSHL->SetPath("C:\\WINDOWS\\explorer ::{2227A280-3AEA-1069-A2DE-08002B30309D}");
    

    wenn ich dann auf das Icon klicke, kommt, Element nicht gefunden.
    Rechtsklick auf der icon -> Eigenschaften -> kommt:
    "C:\\WINDOWS\\explorer ::{2227A280-3AEA-1069-A2DE-08002B30309D}"
    Wenn ich die ->" weg mache, geht mein icon.



  • Wenn pSHL ist ein IShellLink, dann

    pSHL->SetPath(L"C:\\WINDOWS\\explorer.exe");
    pSHL->SetArguments(L"::{2227A280-3AEA-1069-A2DE-08002B30309D}");
    


  • ok,megathx.

    Wieso nimmst du ein L?



  • Naja, IShellLinkW/A ist unicode/ascii, und IPersistFile::Save ist nur unicode, so wozu mixen ? Wenn eine Sache ist 'unicode-only', mach ich alles gleich, in unicode.



  • ok, kannst du mir bitte sagen, wie die CLSID für die Verwaltung von der Systemsteuerung ist.Danke im Voraus.



  • C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Verwaltung\

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{D20EA4E1-3957-11d2-A40B-0C5020524153}
    @ = Verwaltung
    HKEY_CLASSES_ROOT\CLSID\{D20EA4E1-3957-11d2-A40B-0C5020524153}*ShellFolder*
    Aber "explorer ::{D20EA4E1-3957-11d2-A40B-0C5020524153}" geht net

    Der Pfad [...] ist nicht vorhanden oder verweist auf kein Verzeichnis.


Log in to reply