Készítsen fényorgonát a billentyűzetéből!
Lepjük meg magunkat vagy az ismerősünket egy olyan, mindössze néhány soros futtatható fájllal, ami villogtatja a billentyűzetünk LED-jeit, valóságos show-t varázsolva rá.
A Num, Caps és Scroll Lock billentyűk lenyomására a billentyűzetünkön felvillan egy kis zöld fény, ezt mindenki tudja. Azt viszont már kevesebben, hogy ezeket a billentyűket akár egy program is le tudja nyomni helyettünk.
Ugorjunk is neki, nyissunk meg egy jegyzettömböt (Start/Minden program/Kellékek/Jegyzettömb), és másoljuk bele az alábbi néhány sort:
Set WshShell = WScript.CreateObject("WScript.Shell")
For i = 0 to 5
WshShell.SendKeys "{NUMLOCK}"
WScript.Sleep 60
WshShell.SendKeys "{CAPSLOCK}"
WScript.Sleep 60
WshShell.SendKeys "{SCROLLLOCK}"
If (i mod 2) Then WScript.Sleep 200
Next
A Fájl/Mentés másként menüponttal rögzítsük úgy a fájlt, hogy a fájlnév helyére a következőt írjuk, idézőjelekkel együtt: "ledvillogtato.vbs". Kapcsoljuk ki manuálisan az éppen aktív lock funkciókat, hogy egyik led se világítson a billentyűzeten! Most futtassuk a létrehozott fájlt!
Háromszor felfutnak a fények egymás után, majd megáll a program. Természetesen a fenti kódot módosítva egyéni villogásokat is készíthetünk, ezért most röviden bemutatjuk, hogyan is működik a program.
Az első sorral nem kell különösebben foglalkozni. Létrehoz egy shell objektumot, amelyen keresztül billentyűzet-lenyomásokat küldünk a rendszer felé. A következő sorok megértéséhez fontos tudni a felfutó fény elméletét. Valójában a program lenyomja egymás után a három lock gombot, kis késleltetéssel. Ezt a folyamatot 6x megismétli. Első futáskor bekapcsolja a fényeket, a második futásnál kikapcsolja őket és így tovább. Azért kell tehát 3 fényfelfutáshoz 6x fordulni a programnak, mert minden második futás a lekapcsolásról gondoskodik. A második sorban tehát beállítjuk, hogy a következő sorok, amelyek egy kicsit beljebb kezdődnek, hatszor fussanak le (nullától ötig). A for ciklus első utasításával (SendKeys) lenyomtuk a NumLock-ot. A Sleep utasítással vártunk 60 milliszekundumot, majd lenyomtuk a következő billentyűt és így tovább. A ciklus utolsó sorában egy feltétellel találkozunk (If), ami azért kellett, hogy a fényfelfutások között legyen egy kis szünet (200 ms), ne olvadjanak annyira össze. Mivel egy fényfelfutáshoz kétszer kell fordulnia a for ciklusnak, ezért logikus, hogy csak minden második fordulás után kell szünetet tennünk (200 ms). A feltételben szereplő (i mod 2) egy osztás, a for ciklus fordulásainak számát (0,1…5) leosztjuk 2-vel és vesszük a maradékot. Páratlan számok esetén, azaz minden második futáskor a maradék 1 lesz, azaz be kell tenni a 200 milliszekundumos késleltetést. Az utolsó Next utasítás pedig jelzi, hogy véget ért a ciklus.
-
Még könnyebb keresés a Gmailben »
-
Heti TOP letöltés: több 100 ingyen letölthető teljes játéktól a látványos Windows óráig »
Hozzászólások (17) , melyek közül a legfrissebbek:
Persze hogy lehet
Hy mostanába kezdenek érdekelni az ilyenek, lehet olyan alkalmazást írni hogy mikor elindítod megnyit egy jegyzet tömböt és el kezd bele írni? ezek alapján?
Sajnos semennyire nem értek ehez, miből lehetne tanulni könyv vagy weblap?
vendég:
A jegyzettömböt futtatni bírod a START/FUTTATÁS/NOTEPAD.exe
hogy futtassam a jegyzettömböt??
hogy futtassam a jegyzettömböt??
még az is érdekes ha a progi megnyitása előtt nem kikapcsoljuk az összes lock-ot hanem bekapcsoljuk
lol azéRt FelemÁs A nagy ÉS kiSbEtűk aRáNya, mERt áTírTam az cikLusT 1005-Re Így eGy jó idEig elviLlog Még és KapcSolgatja a cAps loCK-Ot :d
LoL ez de jó má...CooL
Hello!
Meg tudjátok mondani, hogy lehet lekérdezni a ledek aktuális állapotát?
A Winamp-hoz vagy (Foobar-hoz) már említett programot nem tudja valaki ideadni, vagy elmondani a progamozás menetét?
Üdv!
A fájlnévnél bármi lehet csak ne szövegfájl legyen és .vbs -re végződjön. Ennyi a lényeg.
Ezt poénnak hívják. Nem feltétlenül kell mindennek hasznosnak lenni, amit egy PC előtt ülve csinálsz. Az ember néha szórakozhat is... Egy haszontalan, de érdekes kis programozási feladat.
lehet így akarnak az embereknek kedvet csinálni a programozáshoz .
így akár egy kis csapatot is össze lehet hozni és persze komolyabb helyzeteket is megvalósítani .
Régen én is írtam ilyen elvont programot ami például binárisan írt meg morzézott a billentyűzet ledekkel... csak azért, hogy bebizonyítsam a billentyűzet nemcsak beviteli eszköz. Teljes 3 bit kimenet, nem semmi! :) Aztán kinőttem ezt a bajomat. LOL
Winap-hoz is van egy ilyen beépülő modul ami a zene ritmusára villogtatja a Led-eket. De nincs semmi értelme, mert ha valaki pl böngészés közben hallgatja a zenét, emiatt a Caps Lock bekapcsolódik és elég zavaró nagy és kisbetűvel írogatni.
én a notebookom bluetooth ledjével játszottam igy :)
Hát ez nagyon értelmes.