通过命令行指令完成win10系统设置
问题描述:我们会在windows的系统设置里修改一些设置项,方便自己的使用。我们可以通过鼠标,点点点,就可以随心所欲的配置成自己符合自己使用习惯的系统。但有时在项目上,我们需要通过程序后台做到这一点,就不是一件简单事了。当然啦,我们今天就是要解决这件事的。
测试环境
测试系统:windows 10
测试软件:progressmonitor(进程监控软件,可以监测注册表的变动)
实现原理
由于系统设置项都是会写进注册表内的,所以我们可以通过监测设置时注册表的变化,然后再通过命令行手动控制该值变化,即可达到同样的效果。
我使用的软件是 progress monitor。
注:另外提一句,本来注册表监控软件应该是registry monitor 的。但是我能搜到的注册表监控软件都不适用windows10系统,所以选择的是这款进程监控软件。
测试
下面我用windows10上的投屏功能做个演示,如果您会这类软件的使用可以直接去用的,直接忽略就好了。
目的:使用该软件进行查看自己的操作改变了系统里哪些值。
要点1:要知道你自己是在哪个进程下进行的操作。
要点2:你想监视的操作是什么。
准备工作:打开监控软件,打开“设置-系统-投影到此电脑”页面。
- 打开 ”文件 – 捕获事件”
- 打开“过滤器 – 过滤器
- 添加过滤器
选择“进程名称”为“SystemSettings.exe”,点击添加。
选择“操作”是“RegSetValue”,点击添加。
点击“确定”
- 在设置中,可以看到自己当前的设置,我这里第一项是“始终关闭”的。将第一项设置为“所有位置都可用”。在监控软件中,可以看到多了两条记录。双击每个事件可查看其修改的内容。其中,路径和数据是我们需要注意的。
- 下面我们亲自动手试试。通过再次切换为“始终关闭”,发现变化的只有AutoEnabled项,开是1,关是0。所以我们进入注册表,手动改一下这个值。
windows + R,输入regedit,回车。
进入路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlayToReceiver ,右击AutoEnabled,点击修改该值为0.确定后,切换设置页面进行刷新,(切换项目就可以刷新)可以看到投影到此电脑页面中第一项变为了“始终关闭”。即可验证,我们通过修改注册表是可以直接修改设置项的。
- 最后,我们通过命令行再试试。
打开命令提示符(管理员),windows10系统下,可以是右击“开始菜单”,选择“windows powershell(管理员)”,输入
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PlayToReceiver" /v AutoEnabled /d 1 /t REG_DWORD /f
再刷新投影到此电脑页面,可以看到第一项又变回了“所有位置都可用”。
测试完毕。