Komfortabler Dateimanager mit vielen Funktionen

Neue Verknüpfung

By Sven on 11.12.2006 - 12:05 in Windows Vista

Bei der Erstellung einer neuen Verknüpfung über den Befehl “Ordner – Verknüpfung erstellen” schaut SpeedCommander in der Registrationsdatenbank unter dem Schlüssel [HKCR\.lnk\ShellNew] nach und führt den unter Command angegebenen Befehl aus. Seit Windows 95 wird damit ein Assistent gestartet, der nach Angabe des Elements und einer Bezeichnung eine Verknüpfung im aktuellen Ordner erstellt.

In Vista hat sich da anscheinend einiges geändert. Statt Command gibt es nur noch den Eintrag Handler, der als Wert eine GUID enthält. Die GUID verweist auf das Objekt New Shortcut Wizard, welches sich in der appwiz.cpl befindet. Das Objekt kann zwar über CoCreateInstance erzeugt werden, aber alle weiteren nötigen Schnittstellen zur Interaktion sind natürlich nicht dokumentiert. Damit ist es unter Vista leider nicht möglich, den Assistenten zur Erstellung einer neuen Verknüpfung gezielt anzuzeigen.

Im Vista Compatibility Team Blog berichtet Marten, dass der bis einschließlich zur RC2 fehlende Export NewLinkHere von appwiz.cpl in der RTM-Version wieder vorhanden ist. Zum Aufruf des Assistenten wird der Befehl rundll32.exe appwiz.cpl,NewLinkHere %1 aufgerufen, wobei %1 durch die Pfadangabe des Ordners ersetzt wird, in dem die Verknüpfung erstellt werden soll.

Dummerweise funktioniert das ganze nun nicht mehr so wie gewohnt. Statt eine Verknüpfung zu einer Datei im aktuellen Ordner zu erstellen, wird einfach der aktuelle Ordner auf den Namen der zu erstellenden Verknüpfung umbenannt. Das ist sicher nicht im Sinne des Erfinders.

Da ich aber nicht davon ausgehe, dass Microsoft eine Funktion implementiert, ohne sie vorher gründlich zu testen, habe ich ein wenig mit dem Aufrufparameter gespielt. Möglicherweise erwartet die Funktion nun statt dem Namen des aktuellen Ordners gleich den Dateinamen der neuen Verknüpfung? Leider Fehlanzeige, der Assistent wird nun gar nicht mehr angezeigt. Doch was passiert, wenn vor dem Aufruf des Assistenten einfach eine leere Datei erstellt wird und deren Name übergeben wird? Bingo! Der Assistent wird angezeigt und die Verknüpfung wird wunschgemäß erstellt. Bei einem vorzeitigen Abbrechen der Aktion wird der Dateiname automatisch gelöscht, so dass keine Rückstände bleiben.

Damit wird es mit dem nächsten SpeedCommander-Update auch unter Vista wieder möglich sein, Verknüpfungen per Assistent zu erstellen. Für das Einrichten und Ändern von Dateiverknüpfungen ist leider noch keine Lösung in Sicht, Microsoft bietet das FileTypes-Objekt unter Vista nicht mehr an.

Es können keine Kommentare abgegeben werden.

Top