Stlačte "Enter" na preskočenie k obsahu

NirCmd + AutoIt: Ideálna softvérová kombinácia na prepájanie terminálových príkazov a klávesových skratiek

NirCmd je malý, ale veľmi všestranný nástroj, ktorý nám do systému pridá vlastné terminálové príkazy pre rýchly prístup k rôznym nastaveniam a funkciám, s ktorými Windows v predvolenej konfigurácii nedisponuje. Jedná sa o príkazy na zmenu úrovne hlasitosti, prepínanie zvukových výstupov, ukončenie alebo reštart zamrznutých procesov, či vykonávanie rôznych ďalších praktických úkonov. Príkazy programu NirCmd môžeme spúšťať priamo z prostredia Windows, buď klávesovou skratkou, alebo kliknutím na odkaz Bez nutnosti otvárania terminálu. Aby sme tieto príkazy mohli prepojiť so skratkami alebo odkazmi, okrem nástroja Nircmd budeme potrebovať aj niektorú z aplikácií podporujúcich vytváranie klávesových skratiek a odkazov. V tomto článku sme na tento účel použili aplikácie Windows Prieskumník a AutoIt.

Stiahnutie a inštalácia programu Nircmd

Aplikáciu nájdeme a stiahneme na jej oficiálnej stránke nirsoft.net
Po stiahnutí a rozbalení súboru nircmd-x64.zip skopírujeme hlavný spustiteľný súbor nircmd.exe do priečinka C:\Windows\System32.
Upozornenie: Aby Nircmd bol ľahko spúšťateľný z príkazového riadku z ľubovoľného priečinka, musí byť po skopírovaní dostupný na adrese C:\Windows\System32\nircmd.exe. Pri kopírovaní programu Nircmd.exe do priečinka system32 je potrebné v dialógu odmietnutia pokračovať tlačidlom s automatickými právami správcu.

Prepojenie terminálového príkazu aplikácie NirCmd pomocou Windows Prieskumníka

Jednou z dostupných aplikácií, ktorú môžeme použiť, je aj Windows Prieskumník. Napríklad skratky na prepojenie terminálových príkazov pre vypnutie alebo reštart si v ňom vytvoríme nasledovným postupom:

  1. Pomocou skratky Windows + M sa presunieme na plochu.
  2. Ak sme počiatočným písmenom alebo medzerníkom omylom označili nejaký odkaz, potom skratkou CTRL + Medzerník ho odznačíme. Pri odznačení nám NVDA oznámi hlášku „nevybraté“.
  3. Otvoríme si kontextové menu a v jeho ponuke vyberieme položku Odkaz, ktorú nájdeme v podponuke Nový.
  4. V dialógovom okne pre vytvorenie odkazu zadáme do editačného poľa pre umiestnenie položky nasledovný terminálový príkaz na vypnutie počítača:
    nircmd.exe exitwin poweroff
  5. V ďalšom kroku sprievodcu vytvorením odkazu zadáme názov odkazu a po kliknutí na tlačidlo pre dokončenie sa nám na ploche vytvorí nový odkaz na vypnutie počítača.
  6. Nakoniec pomocou skratky Alt + Enter otvoríme dialógové okno s vlastnosťami odkazu a v sekcii Klávesová skratka zadáme požadovanú kombináciu klávesov.

Poznámka: Pri skratke na reštart použijeme terminálový príkaz: nircmd.exe exitwin reboot
Od tejto chvíle môžeme terminálové príkazy pre vypnutie a reštart spúšťať buď zadaním klávesovej skratky, alebo kliknutím na odkaz.

Vlastné skratky s nástrojom AutoIt

AutoIt ponúka v porovnaní s Windows Prieskumníkom viac možností a jednou z jeho hlavných výhod je možnosť kompilácie skratiek do spustiteľných .exe súborov. Takýto typ zálohy so sebou prináša niekoľko užitočných benefitov:

  1. Jednoduché prenášanie vlastných skratiek medzi viacerými počítačmi.
  2. Rýchla obnova skratiek po reinštalácii systému bez nutnosti ich opätovného vytvárania.
  3. Skompilované skripty vo formáte .exe fungujú samostatne bez potreby mať na cieľovom počítači nainštalovaný AutoIt.
  4. Zdieľanie skratiek s inými používateľmi. Ak máme napríklad napísané skratky na ovládanie hlasitosti, môžeme ich skompilovať do .exe a jednoducho poslať známemu, ktorý ich bude môcť okamžite začať používať.

Príprava prostredia na vytváranie a spúšťanie .au3 skriptov

V internetovom prehliadači prejdeme na oficiálnu stránku skriptovacieho nástroja AutoIt autoitscript.com, kde nájdeme a stiahneme požadovaný inštalačný súbor.
Stiahnutý súbor rozbalíme a kliknutím na autoit-v3-setup.exe spustíme inštaláciu.
Inštalácia prebieha štandardným spôsobom, stačí sa len preklikať tlačidlami Next, I Agree, Next, Next, Next, Install a nakoniec Finish.

Vytvorenie nového skriptu v AutoIt

Skripty v AutoIt sú textové dokumenty s príponou .au3. Ak do takéhoto súboru zapíšeme skratky a príkazy, po jeho spustení skript automaticky bude vykonávať naprogramované akcie. Na vytvorenie nového skriptu môžeme použiť buď preferovaný textový editor, alebo v kontextovom menu Windows Prieskumníka vyberieme podponuku Nový a v nej zvolíme položku AutoIt v3 Script.

Zápis klávesových skratiek v Autoit

Pri vytváraní klávesových skratiek v Autoit pracujeme s funkciami HotKeySet, Func a Run. HotKeySet umožňuje definovať klávesovú kombináciu, ktorá poslúži ako skratka na vykonanie priradenej akcie. Funkcia Func je zodpovedná za uchovanie a vykonávanie kódu, ktorý sa spustí pri stlačení určenej skratky. Na záver funkcia Run sa postará o spustenie programu, priečinka alebo príkazu.

Príklad skratky na reštart pomocou NirCmd a AutoIt

Ak by sme si chceli vytvoriť skratku CTRL + Windows + Alt + Delete na reštart počítača, môžeme kód skratky zapísať takto:

Začiatok kódu:
HotKeySet(„^#!{Delete}“, „RestartujPC“)
Func RestartujPC()
Run(„nircmd.exe exitwin reboot“)
EndFunc
Koniec kódu.

V prvej časti kódu sme použili funkciu HotKeySet, kde v zátvorkách definujeme klávesovú skratku a názov funkcie, ktorá sa má vykonať. Symboly (^#!{Delete}) predstavujú klávesovú kombináciu CTRL + Windows, + Alt + Delete. V druhej časti kódu definujeme funkciu Func RestartujPC(), ktorá obsahuje príkaz Run, za ním nasleduje terminálový príkaz programu NirCmd ktorý sa postará o reštart. Na záver príkazom EndFunc uzavrieme blok kódu nadefinovanej funkcie.

Pridanie nekonečnej slučky na koniec AutoIt skriptu

Aby AutoIt skript zostal aktívny a rozpoznával klávesové skratky, musíme na jeho koniec pridať nekonečnú slučku:

Začiatok kódu:
While 1
Sleep(100)
WEnd
Koniec kódu.

Bez tejto slučky by skript skončil okamžite po definovaní skratiek a ich funkcií, takže by skratky nefungovali. While 1 … WEnd je konštrukcia, ktorá tento účel zabezpečuje. Príkaz Sleep(100) znižuje zaťaženie procesora a zvyšuje efektivitu skriptu.

Správa o úspešnom spustení

Ku klávesovým skratkám a nekonečnej slučke sa ešte určite oplatí do AutoIt skriptu pridať dialógové okno, ktoré nám potvrdí, že skript bol úspešne spustený. Vďaka tomuto oznámeniu budeme vedieť, že naše skratky sú aktívne a pripravené vykonávať úlohy, ktoré sme im priradili. Túto funkcionalitu docielime ak na začiatok skriptu pridáme nasledovný kód:

Začiatok kódu:
MsgBox(0, „Klávesové skratky sú spustené“, „K dispozícii sú nasledovné skratky: & @CRLF & _
CTRL + Windows + Alt + Delete: Reštartuje počítač.& @CRLF & _
CTRL + Windows + Page Up: Pridá úroveň hlasitosti o 10 %.& @CRLF & _
CTRL + Windows + Page Down: Uberie úroveň hlasitosti o 10 %.
Koniec kódu.

V tomto kóde sme použili funkciu MsgBox, zodpovednú za vytváranie dialógových okien.
Prvý parameter nula určuje štýl okna. V tomto príklade sa jedná o informatívne okno obsahujúce iba tlačidlo OK.
Druhý parameter predstavuje text umiestnený v titulku okna.
V treťom parametri máme text správy s doplnenými informáciami o konkrétnych skratkách.

Poznámka: Na konci prvého až tretieho riadka kódu sme použili reťazec „& @CRLF & _“, aby sme docielili zalomenie riadkov.

Komentáre

Pri rozsiahlejších viac riadkových kódoch pre rýchlejšiu orientáciu v kóde sa zídu vlastné komentáre. Jednoriadkový komentár vytvoríme bodkočiarkou (;). To znamená, že text umiestnený za týmto znakom až po koniec riadka je v AutoIt skriptoch považovaný za komentár.

Klávesové skratky na zmenu úrovne hlasitosti s nástrojmi NirCmd a Autoit

Windows predvolene klávesovými skratkami na zmenu úrovne hlasitosti nedisponuje, ale existujú terminálové príkazy programu NirCmd, ktoré túto funkcionalitu sprístupňujú. Stačí ich pomocou AutoIt prepojiť s požadovanými klávesovými kombináciami a získame skratky na ovládanie hlasitosti.

Začiatok kódu:
; Skratka na zvýšenie hlasitosti o 10 %:
HotKeySet(„^#{PGUP}“, „ZvysHlasitost“)
Func ZvysHlasitost()
Run(„nircmd.exe changesysvolume 6553“)
EndFunc

; Skratka na zníženie hlasitosti o 10 %:
HotKeySet(„^#{PGDN}“, „ZnizHlasitost“)
Func ZnizHlasitost()
Run(„nircmd.exe changesysvolume -6553“)
EndFunc
Koniec kódu.
Poznámka: Ak na koniec tohto kódu pridáme nekonečnú slučku a na jeho začiatok vložíme riadky kódu so správou o úspešnom spustení, získame kompletný zdrojový kód so skratkami na ovládanie hlasitosti. Ak si chceme nadefinované skratky vyskúšať, stačí skript uložiť do .au3 súboru a následne cez kontextové menu prieskumníka použiť voľbu Run Script.

Skratky na zmenu a predvolenie zvukového výstupu

Pri tejto požiadavke si pomôžeme príkazom nircmd.exe setdefaultsounddevice, ktorý slúži na zmenu a predvolenie zvukového výstupného zariadenia. Ak za tento príkaz v úvodzovkách doplníme správny názov konkrétneho zvukového výstupu, získame kompletný príkaz na jeho predvolenie. Po priradení skratky alebo odkazu k takémuto príkazu už nebudeme musieť za účelom predvolenia spúšťať z ovládacieho panela zvukové nastavenia, v nich vyhľadať požadované prehrávacie zariadenie a cez kontextové menu ho predvoliť. Postup je nasledovný:

  1. Stlačíme klávesovú kombináciu Windows + R, v dialógu spustenia zadáme príkaz „control mmsys.cpl“ a potvrdíme Enterom (príkaz zadávame bez úvodzoviek).
  2. V zobrazenom zozname prehrávacích zariadení šípkami vyhľadáme požadované výstupné zariadenie a cez kontextové menu vojdeme do okna s jeho vlastnosťami.
  3. Na karte všeobecné venujeme pozornosť editačnému poľu určenému na pomenovanie zariadenia, odkiaľ si do schránky skopírujeme jeho názov a po skopírovaní klávesom Escape rozhranie s vlastnosťami opustíme.
    Poznámka: Zvukové zariadenia si môžeme ľubovoľne premenovať. Platí to aj pre pripojené bluetooth reproduktory a slúchadlá.
  4. Na záver do skriptu za príkazom nircmd.exe setdefaultsounddevice zo schránky vložíme názov zariadenia, ktoré sme si v predošlom kroku skopírovali. Ak napríklad máme zvukový výstup s označením Speakers, potom príkaz na jeho predvolenie bude:
    nircmd.exe setdefaultsounddevice „Speakers“
    Poznámka: Názov zariadenia musí byť ohraničený úvodzovkami.

Ďalšie príklady kompletných príkazov aj s názvami výstupných zariadení:
nircmd.exe setdefaultsounddevice „zvukovka“
nircmd.exe setdefaultsounddevice „externerepraky“
Príkazy na prepínanie a predvolenie máme pripravené. Ešte nám ostáva prepojiť ich s ľubovoľnými klávesovými kombináciami, čím získame skratky na okamžité prepínanie medzi dostupnými zvukovými zariadeniami. Predpokladajme, že slúchadlá máme zapojené vo zvukovej karte s názvom zvukovka a reproduktory v karte externerepraky. Ak by sme sa chceli prepínať medzi reproduktormi a slúchadlami klávesovými skratkami CTRL + Windows + Shift + Page Up a CTRL + Windows + Shift + Page Down, môžeme kód skratky v AutoIt zapísať takto:
Začiatok kódu:
HotKeySet(„^#+{PGUP}“, „PredvolSluchadla“)
Func PredvolSluchadla()
Run(‚“nircmd.exe“ setdefaultsounddevice „zvukovka“‚)
EndFunc

HotKeySet(„^#+{PGDN}“, „PredvolRepraciky“)
Func PredvolRepraciky()
Run(‚“nircmd.exe“ setdefaultsounddevice „externerepraky“‚)
EndFunc
Koniec kódu.

Upozornenie: V tomto kóde je jedna drobná, ale dôležitá odlišnosť. V príkaze Run sú namiesto úvodzoviek použité apostrofy (‚) okolo celého príkazu. Je to kvôli tomu, aby AutoIt správne spracoval reťazce s vnútornými úvodzovkami, ktoré ohraničujú názov zvukového zariadenia.

Spúšťanie priečinkov a iných ciest v AutoIt

AutoIt nie je určený len na spúšťanie terminálových príkazov programu NirCmd, ale môžeme sním spúšťať aj priečinky, súbory, programy, webové stránky. Stačí ak do príkazu Run v úvodzovkách vpíšeme požadovanú cieľovú cestu, ktorá sa má po stlačení skratky spustiť. Napríklad, ak by sme potrebovali spúšťať Chrome klávesovou skratkou CTRL + Shift + c, potom do AutoIt skriptu dopíšeme nasledovné riadky kódu:

Začiatok kódu:
HotKeySet(„^+c“, „SpustiChrome“)
Func SpustiChrome()
Run(„C:\Program Files\Google\Chrome\Application\chrome.exe“)
EndFunc
Koniec kódu.

Definícia jednotlivých klávesov v AutoIt

Aby sme v AutoIt mohli vytvárať ľubovoľné klávesové kombinácie, musíme poznať spôsob ich zápisu.

Klávesy CTRL, Windows, Alt a Shift

Znak vokáň „^“ reprezentuje kláves CTRL.
Znak mriežka „#“ reprezentuje kláves Windows.
Znak výkričník „!“ reprezentuje kláves Alt.
Znak plus „+“ reprezentuje kláves Shift.

Insert, Delete, Home, End, Page Up a Page Down

Tieto klávesy zapisujeme v zložených zátvorkách nasledovne:

  • Insert: {INS} alebo {INSERT}
  • Delete: {DEL} alebo {DELETE}
  • Home: {HOME}
  • End: {END}
  • Page Up: {PGUP}
  • Page Down: {PGDN}

Poznámka: Praktický príklad zápisu pre Page Up a Page Down, máme v zdrojovom kóde klávesových skratiek na ovládanie hlasitosti.

Funkčné klávesy

Taktiež sa zapisujú vo forme zložených zátvoriek:

  • F1: {F1}
  • F2: {F2}
  • F3: {F3}…

Šípky a medzerník

  • Šípka hore: {UP}
  • Šípka dole: {DOWN}
  • Šípka vľavo: {LEFT}
  • Šípka vpravo: {RIGHT}
  • Medzerník: {SPACE}

Kompilácia AutoIt skriptu do .exe súboru

Kompilácia skriptov v AutoIt je naozaj jednoduchá. Keď máme všetky príkazy kompletne dopísané a odskúšané, môžeme .au3 súbor skompilovať do spúšťateľného exe súboru. Na kompiláciu použijeme kontextové menu Windows Prieskumníka, kde zvolíme položku Compile Script. Po potvrdení tejto položky nám v rovnakom priečinku pribudne nový exe súbor, ktorý môžeme spúšťať z ľubovoľného adresára. Na rozdiel od .au3súborov, skompilovaný exe súbor pri spustení nepožaduje inštaláciu programu AutoIt. Dôležité upozornenie: Keďže skompilovaný skript obsahuje terminálové príkazy aplikácie NirCmd, tento program musí byť nakopírovaný do priečinka C:\Windows\system32. To platí pre každý počítač na ktorom budeme chcieť skratky používať.

Kam po ďalšie informácie?

Ďalšie terminálové príkazy nástroja NirCmd máme k dispozícii v súbore NirCmd.chm. Kliknutím naň spustíme pomocníka, ktorý obsahuje vysvetľujúce príklady toho, čo je možné s touto aplikáciou robiť. Skriptovací nástroj AutoIt má pomocníka dostupného na adrese „C:\Program Files (x86)\AutoIt3\AutoIt.chm“.

Okomentujte ako prví

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.