Lancer des applications ou exécuter des commandes sous Windows via des raccourcis

0

Est-il possible d'enregistrer des raccourcis sur Windows 7 de sorte que le raccourci, quel que soit l'endroit où vous regardez (Bureau, un dossier, etc.), soit "entendu" et que l'action appropriée soit effectuée.

Par exemple, créer un raccourci dans le dossier System32 qui fonctionnera si vous utilisez Exécuter avec le nom du raccourci ne fonctionnera pas si vous définissez une combinaison de touches lorsque la focalisation est définie sur le Bureau, par exemple.

Existe-t-il un moyen natif d’enregistrer les raccourcis de niveau supérieur ou même une application permettant de le faire?

Exemple de choses pour lesquelles je veux des raccourcis clavier:

  • ouvrir un dossier spécifique comme% path%
  • créer un nouveau fichier .js dans le dossier actuel
  • lancer éventuellement une application dont le chemin d'accès est défini sur l'emplacement actuel si l'application le permet (par exemple, une invite de commande)

Je vous remercie.

Francisc
la source

Réponses:

1

Vous pourriez probablement le faire avec AutoHotKey .

Par exemple, supposons que vous vouliez que le raccourci Win+ soit Slancé MyScript. Installez AutoHotKey, copiez ce qui suit dans le fichier AutoHotkey.ahk et redémarrez AutoHotKey:

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:\ "
    }
}

Inspiré de ces deux réponses:

  1. https://superuser.com/a/205368/118346
  2. https://stackoverflow.com/a/100648/1005455
Laurent Couvidou
la source
Merci pour ça. Je suppose qu'il n'y a pas de moyen simple de faire cela, éventuellement avec une interface graphique? Éditer des scripts est mieux que rien, mais je ne veux pas perdre de temps à apprendre à le faire quand une interface graphique serait tellement plus rapide.
Francisc