Instead of clicking lots of mouse clicks I think is a better way doing it via script (powercfg command, I guess). A script able to: 1. Enable or disable some devices to use their feature of waking up a computer. 2. Device selective, ie, the ability for the user to choose which one(s) to enable or disable, e.gr. mouse and/or keyboards. 3. Windows 7/8.x/10 compatible.
Perhaps something like this will do: Code: @ECHO OFF SET "i=0" ECHO= STATE PROGRAMMABLE DEVICE ECHO= FOR /F "DELIMS=" %%A IN ('PowerCfg -DEVICEQUERY wake_programmable') DO ( SET/A i+=1 CALL SET NL=%%NL%%%%i%% POWERCFG -DEVICEQUERY wake_armed|FIND "%%A">NUL 2>&1&&(SET "WS=Enabled ")||( SET "WS=Disabled") CALL SET WP[%%i%%]=%%WS%% %%A CALL CALL ECHO=%%i%%. %%%%WP[%%i%%]%%%%) ECHO= IF %i% GTR 0 CHOICE /C %NL% /M "Please select a device to toggle " FOR /F "TOKENS=1*" %%A IN ('CALL ECHO %%WP[%ERRORLEVEL%]%%') DO (SET DEVICE=%%B IF "%%A"=="Disabled" (SET TO=En) ELSE (SET TO=Dis)) ECHO= CHOICE /C YN /M "Would you like to toggle %DEVICE% to %TO%abled " IF ERRORLEVEL 2 EXIT/B POWERCFG -Device%TO%ableWake "%DEVICE%" TIMEOUT 5 1>NUL EXIT/B
@Compo Many thanks. It works fine! Now, it is working just fine on Windows 8.1 x64 EN but it fails on Windows 7 x64 ES Also I tried translating the following lines but no luck: Code: @ECHO OFF SET "i=0" ECHO= ESTADO DISPOSITIVO PROGRAMABLE ECHO= FOR /F "DELIMS=" %%A IN ('PowerCfg -DEVICEQUERY wake_programmable') DO ( SET/A i+=1 CALL SET NL=%%NL%%%%i%% POWERCFG -DEVICEQUERY wake_armed|FIND "%%A">NUL 2>&1&&(SET "WS=Habilitado ")||( SET "WS=Deshabilitado") CALL SET WP[%%i%%]=%%WS%% %%A CALL CALL ECHO=%%i%%. %%%%WP[%%i%%]%%%%) ECHO= IF %i% GTR 0 CHOICE /C %NL% /M "Por favor selecciona un dispositivo para conmutar " FOR /F "TOKENS=1*" %%A IN ('CALL ECHO %%WP[%ERRORLEVEL%]%%') DO (SET DEVICE=%%B IF "%%A"=="Deshabilitado" (SET TO=Ha) ELSE (SET TO=Desha)) ECHO= CHOICE /C SN /M "Quieres conmutar %DEVICE% a %TO%bilitado " IF ERRORLEVEL 2 EXIT/B POWERCFG -Device%TO%ableWake "%DEVICE%" <--Have doubts on how to translate this one TIMEOUT 5 1>NUL EXIT/B
Maybe an additional section: Code: @ECHO OFF SET "i=0" ECHO= ESTADO DISPOSITIVO PROGRAMABLE ECHO= FOR /F "DELIMS=" %%A IN ('PowerCfg -DEVICEQUERY wake_programmable') DO ( SET/A i+=1 CALL SET NL=%%NL%%%%i%% POWERCFG -DEVICEQUERY wake_armed|FIND "%%A">NUL 2>&1&&( SET "WS=Habilitado ")||(SET "WS=Deshabilitado") CALL SET WP[%%i%%]=%%WS%% %%A CALL CALL ECHO=%%i%%. %%%%WP[%%i%%]%%%%) ECHO= IF %i% GTR 0 CHOICE /C %NL% /M "Por favor selecciona un dispositivo para conmutar " FOR /F "TOKENS=1*" %%A IN ('CALL ECHO %%WP[%ERRORLEVEL%]%%') DO (SET DEVICE=%%B IF "%%A"=="Deshabilitado" (SET "TO=En" & SET "TM=H") ELSE ( SET "TO=Dis" & SET "TM=Desh")) ECHO= CHOICE /C SN /M "Quieres conmutar %DEVICE% a %TM%abilitado " IF ERRORLEVEL 2 EXIT/B POWERCFG -Device%TO%ableWake "%DEVICE%" TIMEOUT 5 1>NUL EXIT/B
Damn! I was trying on a vm. No Power Management there lol When I have some time to find a PC in Spanish I'll test. Meantime thank you very much.
How to translate the script to English??? Is this correct @ECHO OFF SET "i=0" ECHO= STATE PROGRAMMABLE DEVICE ECHO= FOR /F "DELIMS=" %%A IN ('PowerCfg -DEVICEQUERY wake_programmable') DO ( SET/A i+=1 CALL SET NL=%%NL%%%%i%% POWERCFG -DEVICEQUERY wake_armed|FIND "%%A">NUL 2>&1&&( SET "WS=Enabled ")||(SET "WS=Disabled") CALL SET WP[%%i%%]=%%WS%% %%A CALL CALL ECHO=%%i%%. %%%%WP[%%i%%]%%%%) ECHO= IF %i% GTR 0 CHOICE /C %NL% /M "Please select device for switching" FOR /F "TOKENS=1*" %%A IN ('CALL ECHO %%WP[%ERRORLEVEL%]%%') DO (SET DEVICE=%%B IF "%%A"=="Disabled" (SET "TO=En" & SET "TM=H") ELSE ( SET "TO=Dis" & SET "TM=Desh")) ECHO= CHOICE /C SN /M "You want to switch %DEVICE% a %TM%abilitado " IF ERRORLEVEL 2 EXIT/B POWERCFG -Device%TO%ableWake "%DEVICE%" TIMEOUT 5 1>NUL EXIT/B
@Compo It did work on a lappy with Spanish lang. Thanks a lot. However I just did a slight adjustment to one line in order to display messages aligned, I just added a few bar spaces. Code: @ECHO OFF SET "i=0" ECHO= ESTADO DISPOSITIVO PROGRAMABLE ECHO= FOR /F "DELIMS=" %%A IN ('PowerCfg -DEVICEQUERY wake_programmable') DO ( SET/A i+=1 CALL SET NL=%%NL%%%%i%% POWERCFG -DEVICEQUERY wake_armed|FIND "%%A">NUL 2>&1&&( SET "WS=Habilitado ")||(SET "WS=Deshabilitado") CALL SET WP[%%i%%]=%%WS%% %%A CALL CALL ECHO=%%i%%. %%%%WP[%%i%%]%%%%) ECHO= IF %i% GTR 0 CHOICE /C %NL% /M "Por favor selecciona un dispositivo para conmutar " FOR /F "TOKENS=1*" %%A IN ('CALL ECHO %%WP[%ERRORLEVEL%]%%') DO (SET DEVICE=%%B IF "%%A"=="Deshabilitado" (SET "TO=En" & SET "TM=H") ELSE ( SET "TO=Dis" & SET "TM=Desh")) ECHO= CHOICE /C SN /M "Quieres conmutar %DEVICE% a %TM%abilitado " IF ERRORLEVEL 2 EXIT/B POWERCFG -Device%TO%ableWake "%DEVICE%" TIMEOUT 5 1>NUL EXIT/B