0%

CMD 在Windows7 之后版本添加第三方摄像头工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
:: 显示或者隐藏命令 //ECHO [ON | OFF]
@ ECHO OFF
REM 没有摄像头图标。

:: 设置颜色为 淡蓝色背景色,白色前景色
COLOR 9F

:: 设置运行窗口标题
TITLE 添加摄像头图标

:: 申请提权
net session >nul 2>&1
if not "%errorLevel%" == "0" (
echo 提示:此工具必须使用管理员权限运行!
echo 它会弹出UAC对话框,请单击[是]继续。
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\\578635getadmin.vbs"
echo UAC.ShellExecute "%~s0", "%*", "", "runas", 1 >> "%temp%\\578635getadmin.vbs"
"%temp%\\578635getadmin.vbs"
exit /b 2
)

ECHO.
::说明可能导致此问题的相关原因
ECHO 主要症状:
ECHO 摄像头图标消失、没有图标。
ECHO 1.可能未安装摄像头软件。
ECHO 2.可能注册表异常导致。
ECHO 3.用户错误操作导致。
ECHO 注意:此脚本将创建第三方摄像头软件
ECHO =====================================

:: 空一行
:: ECHO.
:: 获取当前相对路径
set P=%~dp0
:: echo 当前路径 ╞ %P% ╡

:: 获取当前准确时间
set T=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
:: echo 当前时间 ╞ %T% ╡

:: 显示系统信息
ECHO ■■■■■■ 当前系统版本 ■■■■■■
VER|FINDSTR /I "5.1" > nul && ECHO ■■■■■■ Windows XP ■■■■■■ && GOTO A
VER|FINDSTR /I "6.1" > nul && ECHO ■■■■■■ Windows 7 ■■■■■■ && GOTO A
VER|FINDSTR /I "6.2" > nul && ECHO ■■■■■■ Windows 8 ■■■■■■ && GOTO A
VER|FINDSTR /I "6.3" > nul && ECHO ■■■■■■ Windows 8.1 ■■■■■■ && GOTO A

wmic os get name
:A
ECHO "%PROCESSOR_ARCHITECTURE%"|FINDSTR /I "86" > nul && ECHO ■■■■■■ 32 位 ■■■■■■ && set X=32
ECHO "%PROCESSOR_ARCHITECTURE%"|FINDSTR /I "64" > nul && ECHO ■■■■■■ 64 位 ■■■■■■ && set X=64

:: 判断变量X的值,X为系统位数
IF /I %X% EQU 64 (
set exe="%ProgramFiles(X86)%\\MiniCapTool\\Cap.exe"
set ico="%ProgramFiles(X86)%\\MiniCapTool\\Cap.ico"
set dir="%ProgramFiles(X86)%\\MiniCapTool"
) ELSE (
IF /I %X% EQU 32 (
set exe="%ProgramFiles%\\MiniCapTool\\Cap.exe"
set ico="%ProgramFiles%\\MiniCapTool\\Cap.ico"
set dir="%ProgramFiles%\\MiniCapTool"
) ELSE (
set exe="%systemdrive%\\Program Files\\MiniCapTool\\Cap.exe"
set ico="%systemdrive%\\Program Files\\MiniCapTool\\Cap.ico"
set dir="%systemdrive%\\Program Files\\MiniCapTool"
)
)

:: 获取当前状态
ECHO.
ECHO 正在检测当前状态...
ECHO.
:: 判断文件是否存在
IF EXIST %exe% (
echo 发现存在摄像头软件. 路径 && echo %exe%
) ELSE (
echo 未发现摄像头软件.
)

:: 检查注册表
REG QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008} /ve >nul 2>nul
:: 判断返回码状态
IF /I %errorlevel% EQU 0 (
ECHO 检测到注册表有残留.
) ELSE (
IF /I %errorlevel% EQU 1 (
ECHO 未发现注册表残留.
) ELSE (
ECHO 出现未知错误.
)
)

ECHO.
::信息提示并作出选择
::暂不使用此句 CHOICE /C YN /T 10 /D Y /M "您好,键入 Y 执行修复,N 退出,如未操作,默认十秒后自动执行修复。
set /P IS=您好,键入1执行添加、修复,2移除,3退出。(输入错误将直接退出) 输入后回车:
::判断输入的字符
::暂不使用此句 IF ERRORLEVEL 2 (EXIT) ELSE (GOTO R)
IF /I %IS% EQU 1 (
ECHO 开始修复 && GOTO Install
) ELSE (
IF /I %IS% EQU 2 (
ECHO 开始移除 && GOTO uninstall
) ELSE (
IF /I %IS% EQU 3 (
EXIT
) ELSE (
ECHO 输入错误,按任意键退出。&& pause>nul && EXIT
)
)
)

REM ----------------------------------------------------------------------------------------------------------

:Install
ECHO.
:: 备份注册表
ECHO ▁▂▃▄▅▆▇█ 备份注册表 █▇▆▅▄▃▂▁
ECHO.
:: 创建目录
MKDIR %TEMP%\\%T% > nul
IF /I %errorlevel% EQU 0 (
ECHO 备份目录 %TEMP%\\%T% 创建成功.
) ELSE (
ECHO 创建备份目录 %TEMP%\\%T% 出错. && ECHO 按任意键退出. && pause>nul && EXIT
)
:: 导出注册表项、值
REG EXPORT HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008} %TEMP%\\%T%\\HKCM-CLSID-AC000.reg
REG EXPORT HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{AC000000-AC00-AC00-AC00-100000000008} %TEMP%\\%T%\\HKCM-NameSpace-CLSID-AC000.reg
::REG EXPORT 注册表项 %TEMP%\\%T%\\导出的名称

ECHO 注册表备份完毕,位置 %TEMP%\\%T%\
ECHO.
ECHO ━━━━━━━━━━━━━━━━━━━━

ECHO.
ECHO ▁▂▃▄▅▆▇█ 安装摄像头软件 █▇▆▅▄▃▂▁
ECHO.
ECHO 安装位置 %dir%
:: 创建目录
MKDIR %dir%

:: 复制文件、目录到系统软件安装目录
COPY /y "%P%\\MiniCapTool\\Cap.exe" %exe%
COPY /y "%P%\\MiniCapTool\\Cap.ico" %ico%

ECHO.
ECHO ━━━━━━━━━━━━━━━━━━━━━━

ECHO.
:: 修复注册表
ECHO ▁▂▃▄▅▆▇█ 修复注册表 █▇▆▅▄▃▂▁
ECHO.
:: 安装
REM ECHO Windows Registry Editor Version 5.00 > %TEMP%\\%T%\\add.reg
REM ECHO. >> %TEMP%\\%T%\\add.reg
REM ECHO [HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}] >> %TEMP%\\%T%\\add.reg
REM ECHO @="USB 视频设备" >> %TEMP%\\%T%\\add.reg
REM ECHO. >> %TEMP%\\%T%\\add.reg
REM ECHO [HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\DefaultIcon] >> %TEMP%\\%T%\\add.reg
REM ECHO @="\\%ico%" >> %TEMP%\\%T%\\add.reg
REM ECHO. >> %TEMP%\\%T%\\add.reg
REM ECHO [HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\shell\\Open\\Command] >> %TEMP%\\%T%\\add.reg
REM ECHO @="\\%exe%" >> %TEMP%\\%T%\\add.reg
REM ECHO. >> %TEMP%\\%T%\\add.reg
REM ECHO [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{AC000000-AC00-AC00-AC00-100000000008}] >> %TEMP%\\%T%\\add.reg
REM ECHO @="USB 视频设备" >> %TEMP%\\%T%\\add.reg

REM :: 导入注册表文件
REM regedit /s %TEMP%\\%T%\\add.reg

REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008} /ve /t REG_SZ /d "USB 视频设备" /f
REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\DefaultIcon /ve /t REG_SZ /d %ico% /f
REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\shell /ve /f
REG DELETE HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\shell /va /f
REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\shell\\Open /ve /f
REG DELETE HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\shell\\Open /va /f
REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}\\shell\\Open\\Command /ve /t REG_SZ /d %exe% /f

REG ADD HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{AC000000-AC00-AC00-AC00-100000000008} /ve /t REG_SZ /d "USB 视频设备" /f

:: 判断执行状态
IF /I %errorlevel% EQU 0 (
ECHO 操作已成功完成..
) ELSE (
IF /I %errorlevel% EQU 1 (
ECHO 请尝试使用管理员身份运行脚本程序.
) ELSE (
IF /I %errorlevel% EQU 3 (
ECHO 注册表文件 没有找到.
) ELSE (
ECHO 出现未知错误.)
)
)
ECHO.
ECHO ━━━━━━━━━━━━━━━━━━━━━━

:: 结束
GOTO END

:uninstall
ECHO.
ECHO ▁▂▃▄▅▆▇█ 删除摄像头软件 █▇▆▅▄▃▂▁
ECHO.
:: 删除文件
ECHO 正在删除摄像头软件...
ECHO 卸载位置 %dir%
RMDIR /S /Q %dir%
ECHO.
ECHO ━━━━━━━━━━━━━━━━━━━━━━

ECHO.
ECHO ▁▂▃▄▅▆▇█ 清理注册表 █▇▆▅▄▃▂▁
ECHO.
:: 删除注册表
REM ECHO 正在清理注册表残留...
REM ECHO Windows Registry Editor Version 5.00 > %TEMP%\\%T%\\remove.reg
REM ECHO. >> %TEMP%\\%T%\\remove.reg
REM ECHO [-HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008}] >> %TEMP%\\%T%\\remove.reg
REM ECHO. >> %TEMP%\\%T%\\remove.reg
REM ECHO [-HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{AC000000-AC00-AC00-AC00-100000000008}] >> %TEMP%\\%T%\\remove.reg

REM :: 导入注册表文件
REM regedit /s %TEMP%\\%T%\\remove.reg

REG DELETE HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{AC000000-AC00-AC00-AC00-100000000008} /f
REG DELETE HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MyComputer\\NameSpace\\{AC000000-AC00-AC00-AC00-100000000008} /f

:: 判断执行状态
REM IF /I %errorlevel% EQU 0 (
REM ECHO 操作已成功完成..
REM ) ELSE (
REM IF /I %errorlevel% EQU 1 (
REM ECHO 请尝试使用管理员身份运行脚本程序.
REM ) ELSE (
REM IF /I %errorlevel% EQU 3 (
REM ECHO 注册表文件 没有找到.
REM ) ELSE (
REM ECHO 出现未知错误.)
REM )
REM )
ECHO.
ECHO ━━━━━━━━━━━━━━━━━━━━━━

:: 结束标签
:END
:: 等待按键继续
ECHO .......................................................................
echo 操作完毕.
pause>nul

第三方摄像头_脚本.zip

觉得文章有用?请我喝杯咖啡~