Hvis du synes, at system- eller appgenvejene ikke fungerer, AutoHotkey (AHK) åbner op for en verden af brugerdefinerede genveje til Windows. På få minutter vil du kunne starte programmer, transformere tekst på farten, kombinere kombinationer og automatisere gentagne opgaver, som om du har gjort det i årevis.
Udover de typiske tastaturkombinationer kan du med AHK Opret tidstilstande, smarte hotstrings og komplekse sekvenser som aktiveres med et enkelt klik. Du vil se eksempler fra det virkelige liv på at administrere udklipsholderen, indsætte specialtegn, skifte vinduer eller transformere datoer; du vil også lære, hvordan du starter dine scripts med Windows og kompilerer dem til .exe-filer til brug på enhver pc.
Hvad er AutoHotkey, og hvad kan man gøre med det?
AutoHotkey er et letvægts scriptsprog til Windows der konverterer tastekombinationer og tekststrenge til systemhandlinger. I modsætning til en traditionel .bat-fil tilbyder den meget fleksibel syntaks, adgang til vinduer og kontroller samt en meget kraftfuld tastetryksafsendelsesmotor (Send, SendInput osv.).
En enkelt .ahk-fil kan indeholde så mange genveje ('genvejstaster') og teksttransformationer ('hotstrings') som du vil. Du kan have ét masterscript til alt eller flere scripts til hvert område (kontor, udvikling, fritid). Når du kører det, lytter AHK til dine tastetryk i baggrunden og udløser det, du har programmeret.
Det bedste er det du behøver ikke at være programmørDet er fantastisk at kopiere, indsætte og tilpasse eksempler. Hvis du bruger andre sprog, vil syntaksen for variabler, betingelser og timere være velkendt. Og hvis ikke, vil du opleve, at det føles meget naturligt.
Installation, første script og grundlæggende koncepter
Download og installer AHK fra dens officielle hjemmeside; derefter, i en hvilken som helst mappe, opretter en fil med filendelsen .ahk, for eksempel hello_world.ahk. Højreklik, Rediger script, og indsæt noget simpelt for at teste:
^+!u:: ; Ctrl + Shift + Alt + U
MsgBox, 0, ¡Hola mundo!, Soy yo de nuevo :)
return
I AHK forkortes modifikatorer: ^ er Ctrl, + er Shift, ! er Alt og :: definerer genvejen. Når du gemmer og dobbeltklikker på .ahk-filen, bliver scriptet aktivt, og når du trykker på Ctrl+Shift+Alt+U, vil du se pop op-meddelelsen.
Det er værd at huske nogle nøglesymboler i syntaksen: :: for at deklarere genvejstaster, := for tildelinger, og kommentarer med ; i slutningen af linjen. På denne måde kan du notere, hvad hver genvej gør, uden at det påvirker koden.
Genvejstaster og hotstrings: genveje og transformering af tekst

En 'genvejstast' er en traditionel genvej. For eksempel, knytte Ctrl+Q til Jobliste sender den indbyggede genvej Ctrl+Shift+Esc:
^q:: ; Ctrl + Q
Send ^+{Esc}
return
Du kan også skrive tekst direkte der, hvor du har markøren: fra din e-mail til hurtige skabelonerTo nyttige varianter er at skrive og kopiere til udklipsholderen:
; Escribir el correo
^!m:: ; Ctrl + Alt + M
SendInput micorreo@prueba.com
return
; Guardarlo en el portapapeles
^!p:: ; Ctrl + Alt + P
Clipboard := "micorreo@prueba.com"
return
Hotstrings er magiske for autokorrektur og udvidelse Tekst. Erstat stavefejl i farten, eller indsæt lange blokke med nøgleord:
; Autocorrección
:*?:salido::saludo
:*?:Genebta::Genbeta
; Expansión de texto
:*?:mimensaje1::Estimado cliente, mi nombre es ...
Du kan endda indsæt specialsymboler uden at søge efter Alt-koden. For eksempel ± ved at skrive ++– og em-bindestregen med Alt + -:
; ± con ++--
:*?:++--::±
; Guion largo con Alt + -
!-::Send —
Enhånds "uendelig" kombinationstilstand: Ctrl+Q som en 'supermodifikator'
En meget effektiv idé til produktivitet er at bruge Ctrl+Q som en midlertidig udløser, der konverterer den næste tast til handlingI stedet for at bruge kombinationer som Ctrl+Q, Ctrl+W osv., aktiverer Ctrl+Q en "tilstand" med ét hug: derefter skriver du bogstavet og kører det tilsvarende script.
For eksempel, Ctrl+Q efterfulgt af Q starter Script 1, og Ctrl+Q efterfulgt af W starter Script 2. Efter dette tastetryk er du tilbage til normalen; på denne måde kan du gange kombinationer med én hånd uden at flytte den fra tastaturet.
Bekymret for at løbe tør for nøgler? Tilføjer 'dobbelttryk' for at zoome på kortetCtrl+Q, Q, Q for Script 3; Ctrl+Q, W, W for Script 4. Du kan endda gå længere med tredobbelt tryk, hvis du har brug for det.
For at give visuel feedback er det meget nyttigt at trykke på Ctrl+Q for at åbne en lille orange GUI i øverste højre hjørne, en lille firkant, der forsvinder, når du trykker på den næste tast, og bekræfter, at tilstanden er aktiveret.
Un grundordning I AHK v1 (simpel og udvidelig) kunne det være:
#SingleInstance Force
#InstallKeybdHook
SetTitleMatchMode, 2
; Ctrl+Q entra en modo de combinaciones
^q::
; Pequeña GUI naranja arriba a la derecha
Gui, +AlwaysOnTop -Caption +ToolWindow
Gui, Color, FFA500
Gui, Show, x%A_ScreenWidth%-40 y20 w20 h20, Modo
; Espera una tecla (1 carácter) y detecta ‘doble toque’ suave
Input, Key, L1 T3 V ; L1: 1 char, T3: 3s de timeout, V: visible en variable
if (ErrorLevel = "Timeout") {
Gui, Destroy
return
}
; Capturar posible doble toque
first := Key
KeyWait, %first%, D T0.3 ; si se pulsa la misma tecla muy rápido, cuenta como doble toque
if (ErrorLevel) {
; Toque simple
Gosub, HandleSingleTap
} else {
; Doble toque
Gosub, HandleDoubleTap
}
Gui, Destroy
return
HandleSingleTap:
; Mapea letras a scripts ‘simples’ tras Ctrl+Q
if (first = "q") {
; Script 1
Run, notepad.exe
} else if (first = "w") {
; Script 2
Run, calc.exe
}
return
HandleDoubleTap:
; Mapea doble toque a otros scripts
if (first = "q") {
; Script 3
MsgBox, 64, Doble toque, Has pulsado Q dos veces
} else if (first = "w") {
; Script 4
MsgBox, 64, Doble toque, Has pulsado W dos veces
}
return
Med denne struktur, Det er lige så nemt at tilføje flere bogstaver eller bevægelser som at forstørre blokkene hvis…ellers. Hvis du kan lide at segmentere efter "områder", kan du reservere Ctrl+Q til arbejde, Ctrl+W til at åbne apps og Ctrl+R til fritid (f.eks. Roblox): Ctrl+R + P åbner klaverskriptet; dobbelt P indlæser en anden sang osv.
Sammensatte sekvenser: knyt Ctrl+G til Ctrl+T + Alt+G uden at slippe Ctrl (spambar)

Et andet praktisk tilfælde: du har brug for det Ctrl+G sender en sekvens Ctrl+T efterfulgt af Alt+G, og hvis du bliver ved med at holde Ctrl nede, kan du gentage genvejstasten uden at ødelægge modifikatoren. Målet er at gøre det flydende og spamfrit.
Nøglen er at bruge SendInput med {Blind}, hvilket bevarer tilstanden af modifikatorer, du allerede fysisk holder. Det er også en god idé at bruge præfikset $ for at undgå genindtastning af selve genvejstasten:
SendMode Input ; más fiable y rápido
$^g::
; {Blind} conserva el estado de Ctrl que ya estás pulsando físicamente
SendInput {Blind}^t!g
return
Dette mønster undgår at skulle skrive {CtrlDown}/{CtrlUp} manuelt til sidst, respekterer tastaturets faktiske tilstand og giver dig mulighed for at gentage kombinationen uden afbrydelser, så længe du fortsætter med at holde Ctrl nede. Hvis et program er kræsent, kan du tilføje en meget lille dvale mellem afsendelser:
$^g::
SendInput {Blind}^t
Sleep 10
SendInput {Blind}!g
return
Hvis du har brug for at isolere genvejstasten fra andre, kan du hæve dens prioritet med #UseHook i starten af scriptet, opnår stabilitet ved spamming i apps med deres eget genvejslag.
Nyttige automatiseringer i hverdagen: datoer, udklipsholder og søgning
Et meget almindeligt behov er indsæt navnet på den aktuelle eller forrige måned på spansk, uden at lave fejl eller være afhængig af tastaturet. Disse uddrag løser dette problem pænt:
; Mes actual (español)
^+!F4:: ; Ctrl + Shift + Alt + F4
time := A_NowUTC
FormatTime, mes, %time% L0x0C0A, MMMM ; Español (España)
SendInput, %mes%
return
; Mes anterior (cálculo desde día 1 y restar un día)
^+!F5:: ; Ctrl + Shift + Alt + F5
date := (A_YYYY . A_MM . "01")
date += -1, days
FormatTime, mes_anterior, %date% L0x0C0A, MMMM
SendInput, %mes_anterior%
return
Endnu mere ambitiøst: på et ark (Excel eller Google Sheets) kopier cellen, erstat den forrige måned med den nuværende og indsæt resultatet uden at forlade tastaturflowet:
^+!F6:: ; Ctrl + Shift + Alt + F6
; Mes actual y anterior en español (España)
time := A_NowUTC
FormatTime, mes_actual, %time% L0x0C0A, MMMM
date := (A_YYYY . A_MM . "01")
date += -1, days
FormatTime, mes_anterior, %date% L0x0C0A, MMMM
; Copiar desde la celda activa
Send, ^c
ClipWait, 0.5
texto := Clipboard
; Reemplazo directo
texto := StrReplace(texto, mes_anterior, mes_actual)
Clipboard := texto
; Pegar de vuelta
Send, ^v
return
Endnu en klassiker: Åbn din yndlingshjemmeside, eller søg efter, hvad der er på din udklipsholder på Google, uden at røre musen. To meget korte opskrifter:
; Abrir una web concreta
^+g::Run "https://www.genbeta.com"
return
; Buscar en Google el texto del portapapeles (o del cursor)
^+c::
{
Send, ^c
Sleep 50
Run, https://www.google.com/search?q=%clipboard%
Return
}
Systemkontrol undervejs: lydstyrke, papirkurv og vinduer

Hvis dit tastatur ikke har multimedietaster, kan du tildel lydstyrke til de numeriske enheder og slå lyden fra med Pause-tasten uden at blive svimmel med menuer eller ikoner:
+NumpadAdd:: Send {Volume_Up}
+NumpadSub:: Send {Volume_Down}
break::Send {Volume_Mute}
return
Det er også værdsat at tømme papirkurven med en hurtig gestus og uden bekræftelser. Windows + Del for øjeblikkelig rensning:
#Del::FileRecycleEmpty
return
Og hvis du arbejder med flere vinduer, kan det forhindre unødvendige klik, hvis du har et af dem i forgrunden. Ctrl + Mellemrum for at gennemtvinge 'Altid øverst' på den aktive:
^SPACE:: Winset, Alwaysontop, , A
return
Start op i Windows og kompiler til .exe
For altid at have dit manuskript klar, tilføj det til dit loginTryk på Win+R og kør shell:startup. Dette åbner din startmappe. Indsæt en genvej til din .ahk-fil der, og Windows vil automatisk køre den ved opstart.
Skal du bruge det på computere, hvor du ikke har AHK installeret? Kompilér scriptet til .exe ved at højreklikke > Kompilér script og distribuerer den selvforsynende eksekverbare fil. Strømforbruget er normalt minimalt, så du kan altid have flere automatiseringer indlæst uden at belaste systemet.
Gode vaner til at holde alting solidt og hurtigt
Når du arbejder med tastetryk, skal du bruge SendMode-indgang for større pålidelighed og hastighed. Hvis en app mangler taktslag, skal du introducere små pauser (5-20 ms) mellem kritiske trin eller skifte til SendEvent i den blok.
For at undgå kollisioner mellem genvejstaster, overvej #BrugHook og #HvisVindAktiv (omfang pr. vindue). Så for eksempel træder nogle kombinationer i kraft i Excel og andre i din browser. Og med $ forhindrer du en genvejstast i at udløse sig selv ved et uheld.
Hvis du vil oprette "tilstande" som Ctrl+Q, skal du tilføje visuel feedback med en minimal GUI og rimelige ventetider. Brugeroplevelsen forbedres betydeligt, når man ved, at tilstanden er aktiveret, og det er tydeligt, hvornår den slutter.
Endelig, dokument. En kommentar; ved siden af hver genvejstast eller i begyndelsen af hvert afsnit Det sparer dig for at glemme sjældent brugte genveje og gør scriptet vedligeholdbart over måneder.
Med disse teknikker har du et fremragende system til at multiplicere enhåndsadgang, konvertere strenge til nyttig tekst og kæde handlinger sammen uden at røre musen. Fra tekstudvidelser og øjeblikkelige søgninger til 'uendelige' tastetilstande og spamsekvenserMed AutoHotkey kan du tilpasse Windows præcis til din arbejdsmåde uden at komplicere dit liv.