Starten Sie Apps oder führen Sie Befehle unter Windows über Verknüpfungen aus

Starten Sie Apps oder führen Sie Befehle unter Windows über Verknüpfungen aus

Ist es möglich, Verknüpfungen unter Windows 7 so zu registrieren, dass die Verknüpfung „gehört“ und die entsprechende Aktion ausgeführt wird, unabhängig davon, wo Sie hinschauen (Desktop, Ordner usw.).

Beispielsweise funktioniert das Erstellen einer Verknüpfung im Ordner System32, wenn Sie „Ausführen“ mit dem Namen der Verknüpfung verwenden, nicht, wenn Sie eine Tastenkombination festlegen und der Fokus beispielsweise auf dem Desktop liegt.

Gibt es eine native Möglichkeit zum Registrieren von Verknüpfungen der obersten Ebene oder sogar eine Anwendung, um dies zu ermöglichen?

Beispiele für Dinge, für die ich Tastaturkürzel benötige:

  • Öffnen Sie einen bestimmten Ordner wie %path%
  • Erstellen Sie eine neue .js-Datei im aktuellen Ordner
  • Starten Sie ggf. eine Anwendung mit dem Pfad zum aktuellen Speicherort, sofern die Anwendung dies unterstützt (z. B. Eingabeaufforderung).

Danke schön.

Antwort1

Sie könnten dies wahrscheinlich tun mitAutoHotKey.

Angenommen, Sie möchten mit der Tastenkombination Win+ Sstarten MyScript. Installieren Sie AutoHotKey, kopieren Sie Folgendes in die Datei AutoHotkey.ahk und starten Sie AutoHotKey neu:

SetTitleMatchMode RegEx
return

; Stuff to do when Windows Explorer is open
;
#IfWinActive ahk_class ExploreWClass|CabinetWClass

    #s::
        LaunchMyScriptInCurrent()
    return
#IfWinActive


; Launches a custom script in the directory browsed in Explorer.
; Note: expecting to be run when the active window is Explorer.
;
LaunchMyScriptInCurrent()
{
    ; This is required to get the full path of the file from the address bar
    WinGetText, full_path, A

    ; Split on newline (`n)
    StringSplit, word_array, full_path, `n
    ; Take the first element from the array
    full_path = %word_array1%   

    ; strip to bare address
    full_path := RegExReplace(full_path, "^Address: ", "")

    ; Just in case - remove all carriage returns (`r)
    StringReplace, full_path, full_path, `r, , all

    IfInString full_path, \
    {
        Run, C:\Path\To\MyScript "%full_path%"
    }
    else
    {
        Run, C:\Path\To\MyScript "C:\ "
    }
}

Inspiriert von diesen beiden Antworten:

  1. https://superuser.com/a/205368/118346
  2. https://stackoverflow.com/a/100648/1005455

verwandte Informationen