zapínaní wifi jedním tlačítkem
na mém notebooku jsem míval originální wifinu od IBM, u které jsem vyřešil zapínání přes tlačítko ThinkPad. jenže jsem si nedávno pořídil novou a lepší wifi, kterou jsem po menších peripetiích rozchodil, ale už na ní byl krátkej program od IBM na zapínání jedním tlačítkem.
první myšlenka se zrodila po objevení této možnosti:

jenže dopátrat se jak nějak elegantně měnit tuto hodnotu byl úkol téměř nadlidský, ale zjistil jsem, že fígl je v ukládání hodnoty 0, nebo 1 do registrů.
po několika radách se zkušenějšími kodéry mi ID NYCKER poradil tento skript, který vlastně pouze invertuje hodnotu v klíči HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325–11CE-BFC1–08002bE10318}\0013\radioEnable a ja připsal message boxy ![]()
RegKey = "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0013\radioEnable" Set WSHShell = CreateObject("WScript.Shell") KeyValue = WSHShell.RegRead (RegKey) If KeyValue = 1 Then KeyValue = 0 msgBox "Wi-Fi Disabled", vbInformation, "Wi-Fi" Else KeyValue = 1 msgBox "Wi-Fi Enabled", vbInformation, "Wi-Fi" End If WSHShell.RegWrite Regkey, KeyValue WScript.Quit
skript uložený s příponou .vbs opravdu funguje a hodnotu v registrech mění, tlačítkem ThinkPad ale spustit nešel, dokud jsem ho nepřevedl do .exe souboru. poté sice šel spouštět tlačítkem, a hodnotu v registrech měnil na jedničku (a na nulu
), ale na ovládání wifi to nakonec nebylo ono…
další myšlenka se tedy uprala k prostému povolování/zakazování zařízení. samozdřejmě nějak one-click ![]()
když už jsem to vzdával, objevil jsem na jednom foru zpitvořeny skript, který v sobě skrýval nebývalý potenciál. po opravení několika chybek, byl na světě .bat soubor, který je stejně úžasný jako ten pro automatický upload souborů na zaheslované FTP :D
:: source: http://software.intel.com/en-us/forums/mobilized-software-development/topic/53786/:Q
:: devcon: http://support.microsoft.com/kb/311272
@ECHO OFF
CLS
ECHO Checking Wireless Adapter.....
:: In this section I ran a status check on my wireless adapter
:: then PRINTED it to a txt file
devcon status PCI\VEN_168C > c:\wireless.txt
:: Here it checks for any errors when attempting to run devcon,
:: if it finds one it sends you down to "Q" where it informs you of the problem
:: and asks to send you to the MS website...
IF ERRORLEVEL ==1 GOTO Q
:: here it searches for the string "Disabled." in the txt file,
:: and it what the file above will say if it is there. If it finds "Disabled."
find /c "disabled." c:\wireless.txt
CLS
ECHO Checking Wireless Adapter.....
IF ERRORLEVEL ==1 GOTO D
:: then is sends to "E" where it enables the device.
:: If not found it send to "D" where it disables the device.
GOTO E
:D
ECHO Disabing Wireless card.....
devcon disable PCI\VEN_168C
GOTO Z
CLS
ECHO Error:
ECHO You must first download DevCon command-line utility from Microsoft's website
ECHO then place it in your windows\system32 folder.
set choice=
set /p choice=TO go there now, press the "1" Key, or press any other key to exit...
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' GOTO IE
GOTO Z
:IE
START /MAX c:\progra~1\intern~1\iexplore.exe http://support.microsoft.com/kb/311272
GOTO Z
:E
ECHO Enabing Wireless card.....
devcon enable PCI\VEN_168C
:Z
del /Q c:\wireless.txt
ECHO Done.
@ECHO ON
zbývalo ho jen přechroupnut vynikajícím programem Bat_To_Exe_Converter.exe do .exe (s použitím volby Ghost aby proběh bez hlášek na pozadí) a bylo hotovo!
Ahoj, já jsem mikrom a je mi 27 let. Univerzita je ta tam a tak mi zbývá pořád ta fiXa a práce v 