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:
- Pomocou skratky Windows + M sa presunieme na plochu.
- 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é“.
- Otvoríme si kontextové menu a v jeho ponuke vyberieme položku Odkaz, ktorú nájdeme v podponuke Nový.
- 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 - 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.
- 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:
- Jednoduché prenášanie vlastných skratiek medzi viacerými počítačmi.
- Rýchla obnova skratiek po reinštalácii systému bez nutnosti ich opätovného vytvárania.
- Skompilované skripty vo formáte .exe fungujú samostatne bez potreby mať na cieľovom počítači nainštalovaný AutoIt.
- 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ý:
- 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).
- 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.
- 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á. - 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í