标题: [系统相关] 批处理怎样修改鼠标指针文件? [打印本页]
作者: locoman 时间: 2023-3-14 15:24 标题: 批处理怎样修改鼠标指针文件?
请教:
我想临时修改一下系统正在使用鼠标指针文件,比如:
——我并不知道系统正在使用的是啥鼠标指针文件,但是,我想临时使用一下“zhuxing.cur”这个鼠标指针,使用完后,又要还原到之前系统使用的鼠标指针文件。
请教怎么才能办到??谢谢!!
作者: buyiyang 时间: 2023-3-14 17:04
直接在main.cpl的指针选项卡修改,还可以在注册表项HKCU\Control Panel\Cursors修改,不过修改注册表要重启。
作者: locoman 时间: 2023-3-14 21:05
直接在main.cpl的指针选项卡修改,还可以在注册表项HKCU\Control Panel\Cursors修改,不过修改注册表要重启 ...
buyiyang 发表于 2023-3-14 17:04
谢谢您的回答!但,不完全符合我的想法!
在这里提问题,我当然是想用命令行或BAT来解决的了!
作者: buyiyang 时间: 2023-3-15 10:52
- set "curfile=C:\zhuxing.cur"
- cd /d "%~dp0"
- if not exist recover.reg (reg export "HKCU\Control Panel\Cursors" recover.reg)
- reg query "HKCU\Control Panel\Cursors" /v Arrow | findstr /c:"%curfile%" && goto re
- reg add "HKCU\Control Panel\Cursors" /v Arrow /t REG_EXPAND_SZ /d "%curfile%" /f
- shutdown -l
- exit
- :re
- reg import recover.reg
- shutdown -l
复制代码
设置好自定义的cur文件路径,这个bat脚本会判断切换或恢复鼠标arrow的cur,不过由于是修改注册表需要注销后生效,注意它会自动注销,生成的recover.reg不要删除。
作者: locoman 时间: 2023-3-16 15:52
设置好自定义的cur文件路径,这个bat脚本会判断切换或恢复鼠标arrow的cur,不过由于是修改注册表需要注销后 ...
buyiyang 发表于 2023-3-15 10:52
谢谢了!
美中不足的不能立即生效!!
作者: idwma 时间: 2023-3-16 16:57
试试把注销换成这样- powershell "Add-Type 'using System.Runtime.InteropServices;public static class test{[DllImport(\"user32.dll\", EntryPoint = \"SystemParametersInfo\")]public static extern bool SystemParametersInfo(uint uiAction, uint uiParam, uint pvParam, uint fWinIni);}';[test]::SystemParametersInfo(0x0057,0,$null,0)"
复制代码
作者: locoman 时间: 2023-3-17 14:31
本帖最后由 locoman 于 2023-3-17 16:22 编辑
试试把注销换成这样
idwma 发表于 2023-3-16 16:57
谢谢您了!
实测:我手工在注册表中修改了鼠标指针后,再运行您这个powershell后,就立即生效了!!
再请教:
1. 您这段powershell代码只能对修改鼠标指针立即生效有作用?还是可以对所有注册表修改都能立即生效吗?
2. 您这段powershell代码与下面这两句有啥区别?使用哪个更好呢??
taskkill /f /im explorer.exe
start explorer.exe
3. 据此,将4楼的代码整合如下吗?
set "curfile=C:\zhuxing.cur"
cd /d "%~dp0"
if not exist recover.reg (reg export "HKCU\Control Panel\Cursors" recover.reg)
reg query "HKCU\Control Panel\Cursors" /v Arrow | findstr /c:"%curfile%" && goto re
reg add "HKCU\Control Panel\Cursors" /v Arrow /t REG_EXPAND_SZ /d "%curfile%" /f
powershell "Add-Type 'using System.Runtime.InteropServices;public static class test{[DllImport(\"user32.dll\", EntryPoint = \"SystemParametersInfo\")]public static extern bool SystemParametersInfo(uint uiAction, uint uiParam, uint pvParam, uint fWinIni);}';[test]::SystemParametersInfo(0x0057,0,$null,0)"
exit
:re
reg import recover.reg
powershell "Add-Type 'using System.Runtime.InteropServices;public static class test{[DllImport(\"user32.dll\", EntryPoint = \"SystemParametersInfo\")]public static extern bool SystemParametersInfo(uint uiAction, uint uiParam, uint pvParam, uint fWinIni);}';[test]::SystemParametersInfo(0x0057,0,$null,0)"
作者: idwma 时间: 2023-3-17 17:19
回复 7# locoman
这个api改参数才能让对应的设置生效
https://learn.microsoft.com/zh-c ... stemparametersinfoa
结束进程的方式也好呀,适合自己就是最好的
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |