77 lines
1.9 KiB
Batchfile
77 lines
1.9 KiB
Batchfile
@echo off
|
|
setlocal
|
|
|
|
:ValidateArgs
|
|
if [%1] == [] goto Usage
|
|
|
|
:LocalConfig
|
|
set RegRoot=HKLM
|
|
set DeleteKeys=0
|
|
set DeviceAppType=%~1
|
|
if /i [%2] == [delete] (
|
|
set DeleteKeys=1
|
|
) else (
|
|
if /i [%2] == [hkcu] set RegRoot=HKCU
|
|
)
|
|
if /i [%3] == [delete] (
|
|
set DeleteKeys=1
|
|
) else (
|
|
if /i [%3] == [hkcu] set RegRoot=HKCU
|
|
)
|
|
|
|
:Execute
|
|
if /i [%DeviceAppType%] == [g] (
|
|
set DeviceAppName=uagrdev
|
|
set CLSID=3F52625C-F66C-43F5-B538-CDF7331E0B7D
|
|
set InterfaceId=D178FEAC-4969-45b4-92BF-4582EA5C6F47
|
|
set EventInterfaceId=FDE206D5-EB3E-4DB1-AC3E-6CF314417443
|
|
set LibId=FB2C3447-9D8D-4AD0-9234-A163505FC3AE
|
|
set ClassName=QWDevice.QWDev
|
|
) else (
|
|
set DeviceAppName=uasrdev
|
|
set CLSID=35578409-F9F5-43e8-A6BD-8B77199ED854
|
|
set InterfaceId=6B15E61A-381F-41e7-8B65-BA386473FE8C
|
|
set EventInterfaceId=17DCFB07-18A9-4ffe-B34D-37B91D809C41
|
|
set LibId=CD886C7B-B61C-49cf-B3B8-90DB303A502A
|
|
set ClassName=QSRDevice.QSRDev
|
|
)
|
|
call :RegQuery "%RegRoot%\Software\Classes\CLSID\{%CLSID%}"
|
|
call :RegQuery "%RegRoot%\Software\Classes\Interface\{%InterfaceId%}"
|
|
call :RegQuery "%RegRoot%\Software\Classes\Interface\{%EventInterfaceId%}"
|
|
call :RegQuery "%RegRoot%\Software\Classes\%ClassName%"
|
|
call :RegQuery "%RegRoot%\Software\Classes\%ClassName%.1"
|
|
call :RegQuery "%RegRoot%\Software\Classes\TypeLib\{%LibId%}"
|
|
goto Cleanup
|
|
|
|
|
|
:RegQuery
|
|
@REM Technique 1: Use appropriate reg.exe for 32-bit context
|
|
set RegCmd=%SYSTEMROOT%\system32\reg.exe
|
|
if exist %SYSTEMROOT%\syswow64 set RegCmd=%SYSTEMROOT%\syswow64\reg.exe
|
|
if %DeleteKeys% == 1 (
|
|
%RegCmd% delete %1 /f
|
|
) else (
|
|
%RegCmd% query %1 /s || echo Missing key: %1
|
|
)
|
|
|
|
@REM @REM Technique 2: Use /reg:32 argument to force 32-bit registry access
|
|
@REM if %DeleteKeys% == 1 (
|
|
@REM reg delete %1 /reg:32 /f
|
|
@REM ) else (
|
|
@REM reg query %1 /reg:32 /s || echo Missing key: %1
|
|
@REM )
|
|
|
|
goto Cleanup
|
|
|
|
|
|
:Usage
|
|
echo %~n0 deviceapptype [delete]
|
|
echo Examples:
|
|
echo %~n0 s
|
|
echo %~n0 g
|
|
echo %~n0 g delete
|
|
|
|
|
|
:Cleanup
|
|
endlocal
|