标题有点长. 两个问题.
最近瞎几把禁用后台服务, 也就是services.msc, 结果把系统干出两个问题, 研究了五十多分钟, 终于研究出方法了. 一到晚上我要睡觉了, 就给我出幺蛾子...
(1) 话筒无法出声也没有图标
(2) win10设置(新控制面板)崩溃: SystemSettings.exe - 系统错误: 系统在此应用程序中检测到基于堆栈的缓冲区溢出。
------------------
(1) 今天晚上玩英雄联盟日服, 跟队友开语音没有声音. 对方头像小绿圈亮, 但我听不到对方的语音, 我说话的时候头像小绿圈也不亮.
以为是游戏的问题, 但我顺手试了一下浏览器的在线测试麦克风, 结果发现...托盘的话筒图标不出来, 在线测试也测不到声音, 设备列表有, 但是会提示无权限之类的错误.
(2) 打完游戏后, 照着网上的方法打开 设置 - 隐私 - 麦克风, 直接报(2)的错误, 点确定然后设置界面就闪退了. 我很清楚这是我自己干的事, 因为系统刚装上的时候没有这些幺蛾子.
问题主要出在这个服务(camsvc是服务名, 可以直接用sc命令启用, 或者在services.msc里面找功能访问管理服务),
camsvc 功能访问管理器服务
给我折腾到晚上两点半, 设置成 手动+启用 之后用浏览器测试立马就好了. 设置 - 隐私 - 麦克风 也能正常进去了.
以后再也不瞎几把乱禁服务了. 不过win10有些服务是真踏马没卵用.
再说一说系统目前的服务如何备份吧, 有两个方法.
一是直接导出本地服务. 打开服务界面之后, 右击最左侧栏的 服务(本地) - 导出列表. 这样就能导出一个表格, 出了问题可以一个个服务去核对.
二是用这个bat, 很早以前不知道从什么地方弄来的, 看代码大概意思就是, 获取服务列表, 保存其状态并生成恢复用的bat, 注意这个bat不保证能用.
@echo off
rem get current date and time
for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m
for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME=%FILENAME%_%%j_%%k.bat
rem get all service name
sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt
echo Save Service Start State In %FILENAME%
rem save service start state into batch file
rem
echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME%"
echo @pause >>"%FILENAME%"
for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo sc config %%j start= %%s >>"%FILENAME%")
echo @pause >>"%FILENAME%"
del tmpsrv.txt
del tmpstype.txt