yyz2191958 发表于 2023-6-23 08:59:03

【已解决】判断注册表的数值数据,谢谢

本帖最后由 yyz2191958 于 2023-6-23 12:33 编辑

完美解决了:

... ...
::【重启声卡】
Pecmd.exe kill 龙卷风收音.exe>nul 2>nul
D:\1绿色软件\刷新托盘图标.exe >nul 2>nul
:A%【禁用声卡】%
devcon disable *DEV_1C20* >nul 2>nul
::【检测是否禁止成功:即注册表中有无"0x1"(成功跳到:B,不成功跳到:A】
reg query "HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Enum\HDAUDIO\FUNC_01&VEN_8086&DEV_2805&SUBSYS_80860101&REV_1000\4&3AD7007D&0&0301" /v "CSConfigFlags" | find "0x1" >nul
if %errorlevel% equ 0 (goto :B) else goto :A
::***********************************************************************************************************
:B%【启用声卡】%
devcon enable *DEV_1C20* >nul 2>nul
devcon enable *DEV_1C20* >nul 2>nul
::【检测是否启用成功:即注册表中 有无"0x0"(成功跳到:C,不成功跳到:B】
reg query "HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Enum\HDAUDIO\FUNC_01&VEN_8086&DEV_2805&SUBSYS_80860101&REV_1000\4&3AD7007D&0&0301" /v "CSConfigFlags" | find "0x0" >nul
if %errorlevel% equ 0 (goto :C) else goto :B
:C
::***********************************************************************************************************
start "" "%~dp0默认音量.vbs"
start "" "%~dp0键盘灯.exe"
:D
exit
https://s1.ax1x.com/2023/06/23/pCYEZPs.png
https://s1.ax1x.com/2023/06/23/pCYEeGn.png



bfgxp 发表于 2023-6-23 09:55:04

你这个逻辑上有问题啊。1→A,0→C,非1非0到底要跳到B还是D

yyz2191958 发表于 2023-6-23 09:58:53

bfgxp 发表于 2023-6-23 09:55
你这个逻辑上有问题啊。1→A,0→C,非1非0到底要跳到B还是D

我需要进行两次判断(1→A,0→C也行,我可以自己调整)

szwp 发表于 2023-6-23 10:14:16

(1跳到 :A,不是1跳到 :B) 0跳到B
(0跳到 :C,不是0跳到 :D) 1跳到D

yyz2191958 发表于 2023-6-23 10:16:43

szwp 发表于 2023-6-23 10:14
(1跳到 :A,不是1跳到 :B) 0跳到B
(0跳到 :C,不是0跳到 :D) 1跳到D

可以这样

bfgxp 发表于 2023-6-23 10:45:33

批处理的话,可以类似这样写
reg query "HKEY_LOCAL_MACHINE\SYSTEM\Input\Buttons" /v "HardwareButtonsAsVKeys" | find "0x1" >>nul&&set x=a ||set x=c

yyz2191958 发表于 2023-6-23 11:04:53

bfgxp 发表于 2023-6-23 10:45
批处理的话,可以类似这样写

我试一试 谢谢

yyz2191958 发表于 2023-6-23 11:10:12

bfgxp 发表于 2023-6-23 10:45
批处理的话,可以类似这样写

@echo off
reg query "HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Enum\HDAUDIO\FUNC_01&VEN_8086&DEV_2805&SUBSYS_80860101&REV_1000\4&3AD7007D&0&0301" /v "CSConfigFlags" | find "0x1" >>nul&&set x=a ||set x=c
pause >nul
exit
运行以后没有任何显示,怎样弄成跳转?

szwp 发表于 2023-6-23 11:14:27

pause前加echo %x%没问题就可改成goto了

yyz2191958 发表于 2023-6-23 11:17:37

bfgxp 发表于 2023-6-23 10:45
批处理的话,可以类似这样写

帮我看看下面,是否正确?谢谢
**************************
@echo off
reg query "HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\0001\System\CurrentControlSet\Enum\HDAUDIO\FUNC_01&VEN_8086&DEV_2805&SUBSYS_80860101&REV_1000\4&3AD7007D&0&0301" /v "CSConfigFlags" | find "0x1" >>nul
if %errorlevel% equ 0 (goto :B) else goto :A
:B
echo.
echo.
echo                                     是
pause>nul
exit
:A
echo.
echo.
echo                                     否
pause>nul
exit
页: [1]
查看完整版本: 【已解决】判断注册表的数值数据,谢谢