SendToSubMenu

Verwendungszweck

Da Microsoft unter Windows7 die Möglichkeit, im „Senden An“ über Unterverzeichnisses Untermenüs zu machen, kaputt gemacht hat (die Unterverzeichnisse dienen jetzt ausschließlich als Ziel für die Datei - was eine vollkommen unsinnige Funktionalität ist), soll das kleine Tool SendToSubMenu Abhilfe schaffen. Es erzeugt zwar keine echten Untermenüs, und man muss immer Klicken um das Menü zu öffnen (bei Win7 muss man aber auch im Programmmenü klicken um Untermenüs zu öffnen), funktioniert dafür aber ohne irgendwelche Shell-Extensions oder Registry-Einträge.

Installation/Einrichtung

  • SendToSubMenu.exe in ein geeignetes lokales Verzeichnis kopieren, z.B. von „S:\UTIL“ vom Server nach „C:\UTIL“.
  • Ordner mit Programmverknüpfungen und Batches anlegen/bereitstellen, die per „Senden An“ verwendet werden sollen (zum Beispiel: „C:\UTIL\SendTo\PDF“)
  • Eine Verknüpfung von „C:\UTIL\SendToSubMenu.exe“ im offiziellen „Senden An“ Ordner („%USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendTo“) erstellen, den Anzeigenamen anpassen („#PDF“) und die Zielangabe um den zu öffnenden Ordner ergänzen (ergibt dann z.B. „C:\UTIL\SendToSubMenu.exe C:\UTIL\SendTo\PDF“).
  • Ggf. die Verknüpfung für andere User und für den Default-User („C:\Users\Default\AppData\Roaming\Microsoft\Windows\SendTo“) kopieren.
  • Die letzten Schritte für jeden zu ergänzenden „Ordner“, also jedes gewünschte „SendTo“-Untermenü, wiederholen.

Anm.:

  • Präfix „#“ dient dazu, dass diese besonderen Einträge zusammen vor den normalen Einträgen angezeigt werden, wie sonst Unterverzeichnisse vor den Dateien.
  • Man kann verschachtelte Menüs machen, indem man einfach in dem gewünschten Order wieder einen Link auf „SendToSubMenu.exe“ wie oben beschrieben anlegt.
  • Wenn man wie beschrieben die Ordner mit den Links usw. zentral ablegt, kann man diese für alle Benutzer verwenden, und z.B. Ergänzungen in „C:\UTIL\SendTo\PDF“ kommen dann automatisch allen Benutzern zugute. Ein „AllUsers“-SendTo hat Windows ja leider noch nie unterstützt.
  • „SendToSubMenu.exe“ funktioniert unabhängig von der Windows-Version, allerdings funktioniert die z.Z. aktuelle Version 1.0.9.0 von 2011 seit irgendeinem MS-Update in 2014 nicht mehr unter XP :-[. Wenn man unter XP SendTo-Sub-Menüs für alle Benutzer machen will, kann man also nicht mehr „SendToSubMenu.exe“ verwenden, sondern muss Junctions machen, z.B. von „C:\UTIL\SendTo\PDF“ nach „C:\Dokumente und Einstellungen\[user]\SendTo\#PDF“ (die nächste Ebene sieht unschön aus, wenn man „UTIL\SendTo“ wie bei Win7 verwendet, da dort der nicht funktionierende „SendToSubMenu“-Link mit „#“, z.B. „#ExpTab“, und erst weiter unten der Ordner, z.B. „ExpTab, auftaucht).
  • „SendToSubMenu.exe“ kann auch verwendet werden, um z.B. direkt im Win7-Start, oder in der Schnellstartleiste usw., eigene Untermenüs zu erzeugen.

Optionen

Seit der Version 1.0.5 verfügt das Tool über Optionen.

  • -nothing bewirkt, dass das Tool „unsichtbar“ gestartet und ohne etwas zu tun wieder beendet wird.
  • -minimize bewirkt, dass das Tool „unsichtbar“ gestartet aber nicht beendet wird (der Prozess bleibt am Leben siehe Task-Manager).
  • -nobrokenlink mit dieser Option schalten man die Prüfung und Anzeige „Toter Links“ ab.
  • -deficon bewirkt, dass anstelle des Icons von dem Link das Standard Applikation Icon benutzt wird.

Anm.: -nothing und -minimize sollen bewirken, dass von dem Tool benötigte DLLs schon geladen werden usw., um die Aufbauzeit der „SendToSubMenu-Fenster“ beim nächsten Aufruf zu verkürzen. Bei manchen Rechnern dauert es insbesondere bei der ersten Verwendung etliche Sekunden, bis das Fenster auf geht, was manchmal(!?) durch Aufruf von „SendToSubMenu“ mit einer der Optionen im „Autostart“ verbessert werden kann (wir hätten aber vielleicht doch nicht “.NET„ nehmen sollen…).

Nutzung

Mit im Explorer markierten Dateien/Ordnern wird im „Senden An“ Menü zunächst der passende „SendToSubMenu“-Eintrag (zum Beispiel “#PDF„) und dann im sich öffnenden SendToSubMenu-Fenster das gewünschte Programm (im Beispiel aus dem Ordner „C:\UTIL\SendTo\PDF“) gewählt, dem schlussendlich die anfangs markierten Dateien/Ordner als Parameter übergeben werden.

Anm.: Es gelten die für die Kommandozeile üblichen Einschränkungen, z.B. sehr viele oder sehr lange Namen können u.U. nicht vollständig übergeben werden.

Ohne Optionen -nobrokenlink -deficon