Hvad er den nemmeste måde at lave en genvejstast til Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



For eksempel skubber du Ctrl + V og indsætter bufferindholdet i vinduet. Hvordan kan jeg lave mine egne genvejstaster? Undskyld for noobish spørgsmål.

Bedste reference


En god måde at gøre dette hurtigt og nemt på er med et script sprog, der fokuserer på makro programmering. Min favorit er AutoIt som det står i et klip fra AutoIt-hjælpefilen ... [6]



  AutoIt blev oprindeligt designet til pc
  'roll out' situationer til pålideligt
  automatisere og konfigurere tusindvis af
  Stk. Over tid er det blevet en
  kraftigt sprog, der understøtter
  komplekse udtryk, brugerfunktioner,
  løkker og alt andet den veteran
  scripters ville forvente.



At skrive en genvejstastningsprogram i AutoIt kunne ikke være nemmere. For eksempel kan vi for en eller anden grund sige at du vil Alt + Q reagere som nummerblok nøgle 7 i en bestemt situation muligvis, så du behøver ikke at nå på tværs af tastaturet for det. Her er en kode, der gør det ...


Func \_num7()
    Send("{numpad7}")
EndFunc

HotKeySet("!{q}","\_num7")

While 1
    sleep(10)
WEnd


Hvis det ikke er ligefrem, er AutoIt-hjælp fil og fora meget hjælpsomme. For ikke at nævne en (meget) få AutoIt-udviklere er tilgængelige på SO, hvis du ender med AutoIt-specifikke spørgsmål. [7]


I eksemplet ovenfor kan du sige, at du kun ønskede, at genvejstasterne skal være aktive, når en bestemt applikation var i brug for ikke at forstyrre andre genvejstaster. Denne kode ville udføre netop det.


; The comment character in AutoIt is ;
Local $inTargetProg = False

Func \_num7()
    Send("{numpad7}")
EndFunc

While 1
    If WinActive("Target Application Window Title") and Not $inTargetProg Then
        HotKeySet("!{q}","\_num7") ; binds Alt+Q to the \_num7() function
        $inWC3 = True
    EndIf

    If Not WinActive("Target Application Window Title") and $inTargetProg Then
        HotKeySet("!{q}") ; UnBind the hotkey when not in use
        $inWC3 = False
    EndIf

    sleep(5)
WEnd

Andre referencer 1


Per-proces tastaturgenveje som Ctrl + V defineres normalt i en ressource (.rc) fil og indlæst via Win32 API LoadAccelerators. [8]


Windows-brede tastaturgenveje (hotkeys) er registreret ved hjælp af Win32 API RegisterHotKey. [9]

Andre referencer 2


Jeg har brugt AutoHotkey på arbejde i den bedste del af et år nu. [10]


Jeg gemmer bare følgende fil i min Windows Opstart mappe.


keyboard\_shortcuts.ahk


#SingleInstance force
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir \%A\_ScriptDir\%  ; Ensures a consistent starting directory.
Menu, Tray, Icon, Shell32.dll, 44

; Starting Directory for cmd.exe
EnvGet, HOMEDRIVE, HOMEDRIVE
EnvGet, HOMEPATH, HOMEPATH

#i:: Run, notepad
#f:: Run, firefox
#c:: Run, cmd /k, \%HOMEDRIVE\%\%HOMEPATH\%
#m:: Run, mailto:
#b:: Run, mailto:boss@mycompany.com


'# b' betyder Winkey + B


'Kør, mailto: boss@mycompany.com' Åbn en sort email til min chef.


#b:: Run, mailto:boss@mycompany.com

Andre referencer 3


Du kan oprette en simpel genvejstast i Windows ved at oprette en genvej og derefter tildele en genvejstast til den. Jeg har gjort dette for at lancere nogle kommandolinjeprogrammer med parametre.
Følgende link forklarer ved hjælp af en genvejsnøgle til en app for at slå lyden fra: Sluk [11]


Du skal blot erstatte Target: og Genvejstast: i genvejsegenskaberne med det, du har brug for til dine formål.

Andre referencer 4


Enkelt script med windows uden tredjeparts software. Bare gem som .vbs fil og dobbeltklik


currentDirectory = left(WScript.ScriptFullName,(Len(WScript.ScriptFullName))-(len(WScript.ScriptName)))

Set objShell = WScript.CreateObject("WScript.Shell")
Set lnk = objShell.CreateShortcut(currentDirectory  & "search.LNK") 
lnk.TargetPath = currentDirectory  & "search.bat"
lnk.Arguments = ""
lnk.Description = "Abiram's search"
lnk.HotKey = "SHIFT+CTRL+C"
lnk.WindowStyle = "7"
lnk.WorkingDirectory = currentDirectory
lnk.Save
'Clean up 
Set lnk = Nothing


Skift lnk.TargetPath for at inkludere din exe-fil eller batchfil, der skal kaldes.

Andre referencer 5


Ok ... den nemmeste måde, for eksempel På dit skrivebord kan du bruge accelereret kommando ved at højreklikke på ikonet> egenskaber> genvejstast; Klik på det tomme mellemrum, og det ser ud til, at der ikke sker noget, men det er, når du tildeler din 'hotkey', jeg brugte Shift + 1 , og når jeg kombinerer Shift + 1 Firefox åbnes.

Andre referencer 6


Først velkommen til Stack Overflow!


For det andet er dette et program af program ting. Den eneste grund til, at Ctrl + C eller Ctrl + V fungerer på tværs af forskellige programmer, skyldes, at der er operativsystemstøtte for udklipsholder og mange programmer følger konventionen om at bruge Ctrl + C eller Ctrl + V . I dine egne programmer kan du binde nøglerne, men du kan lide! For mere detaljer skal vi have mere information om dit program.


Hvis du vil lave aktuelle hotkeys til Windows selv, er jeg ikke sikker på, hvordan (eller hvis du er i stand til) at lave dine egne genvejstaster. Du kan måske se på AutoIt, hvilket er et gratis program, der kan gøre alle mulige ting du vil muligvis bruge en genvejstast til, f.eks. automatisk at klikke igennem menuer osv. [12]