标题: [问题求助] 【己解决】VBS能否一键切换 提高鼠标指针精确度 选项 [打印本页]
作者: BAT1 时间: 2015-4-18 14:49 标题: 【己解决】VBS能否一键切换 提高鼠标指针精确度 选项
本帖最后由 BAT1 于 2015-4-20 15:10 编辑
在打CS或者CF的时候,需要把 “提高鼠标指针精确度” 选项关闭,玩其他游戏时又要再次开启。
开启的操作步骤为:
1开始菜单——2设置——3控制面版——4鼠标——5指针选项——6提高指针精确度——7确定
这操作步骤太过于烦索了。
我想在桌面放一个快捷方式,
双击就关闭 “提高指针精确度”,并弹出一个“提高指针精确度”是处于什么状态的提示框。
再双击就反过来......
或者放两个快捷方式,
双击一个就开启指针精确度,双击另一个就关闭指针精确度。
不知能否实现?
作者: yu2n 时间: 2015-4-18 20:35
本帖最后由 yu2n 于 2015-4-18 20:47 编辑
'VBS 设置鼠标指针精确度(5秒内) By yu2n
'Win7 x64 测试通过- 'VBS 设置鼠标指针精确度(5秒内) By yu2n
- 'Win7 x64 测试通过
- Const sTitle = "鼠标 属性" ' 查找窗口名称
- Const nTimeOut = 5 ' 指定超时时间
-
- Dim wso
- Set wso = CreateObject("WScript.Shell")
-
- ' 打开鼠标控制面板
- wso.Run "control.exe main.cpl"
-
- Dim dtStart, bFind
- dtStart = Now()
- Do While DateDiff("s", dtStart, Now()) < nTimeOut
- WScript.Sleep 200
- If CreateObject("WScript.Shell").Appactivate(sTitle) Then
- bFind = True ' 做标记-已找到
- Exit Do
- End If
- Loop
-
- If bFind Then
- ' 发送按键
- wso.SendKeys "(^{TAB})"
- WScript.Sleep 200
- wso.SendKeys "(^{TAB})"
- WScript.Sleep 200
- wso.SendKeys "(%E)"
- WScript.Sleep 200
- wso.SendKeys "(%A)"
- WScript.Sleep 1500
- wso.SendKeys "{ESC}"
- WScript.Sleep 200
- wso.Popup "完成!耗时 " & DateDiff("s", dtStart, Now()) _
- & " 秒。" & String(3,vbTab), 3, WScript.ScriptName, vbSystemModal+vbInformation
- Else
- wso.Popup "无法打开[" & sTitle & "]选项卡!耗时 " & DateDiff("s", dtStart, Now()) _
- & " 秒。" & String(3,vbTab), 3, WScript.ScriptName, vbSystemModal+vbCritical
- End If
复制代码
作者: BAT1 时间: 2015-4-19 13:21
本帖最后由 BAT1 于 2015-4-19 13:35 编辑
回复二楼
首先我非常感谢你的热心帮助,
其次,我使用XP操作系统,
经过50次测试,这个脚本在选项卡的选择上还存在一点小问题,希望你能再修改一下。
有时候停留在“鼠标键”,
选中“双击速度”,然后“确定”
有时候停留在“指针”,
选中“方案”,然后“确定”
有时候停留在“指针选项”。
选中“提高指针精确度”,然后“确定”(这个才是对的)
我该如何评价你的脚本呢?
作者: yu2n 时间: 2015-4-19 13:46
本帖最后由 yu2n 于 2015-4-19 14:33 编辑
回复 3# BAT1
XP的鼠标指针设置界面与Win7并无差别。
猜测是你的电脑反应速度的问题,亦或是杀毒软件的拦截。
可以自行修改 WScript.Sleep 后面的时间,电脑慢的话,时间要设置长一些。反之,可以设短些。
如果不介意注销、重启系统,可以考虑以下脚本。- '一般精确度.vbs
- RegPath = "HKEY_CURRENT_USER\Control Panel\Mouse\"
- Set RR = CreateObject("WScript.Shell")
- RR.RegWrite RegPath & "MouseSpeed", "0"
- RR.RegWrite RegPath & "MouseThreshold1", "0"
- RR.RegWrite RegPath & "MouseThreshold2", "0"
复制代码
- '提高精确度.vbs
- RegPath = "HKEY_CURRENT_USER\Control Panel\Mouse\"
- Set RR = CreateObject("WScript.Shell")
- RR.RegWrite RegPath & "MouseSpeed", "1"
- RR.RegWrite RegPath & "MouseThreshold1", "6"
- RR.RegWrite RegPath & "MouseThreshold2", "10"
复制代码
作者: BAT1 时间: 2015-4-20 13:06
本帖最后由 BAT1 于 2015-4-20 13:25 编辑
回复 4# yu2n
注销?重启? 我介意啊
在修改注册表的时候,可以先结束explorer进程,再重新加载explorer,作用是代替注销。
只是不知道 能否用在鼠标上。
你能不能在修改注册表的脚本后面,补上一段 重新加载explorer的代码?
最后按照这个顺序运行
1、一般精确度
2、CF主程序
3、提高精确度
作者: yu2n 时间: 2015-4-20 14:37
回复 5# BAT1
重新加载explorer,对于鼠标精确度无效。
作者: BAT1 时间: 2015-4-20 15:09
回复 6# yu2n
好的,那我还是用最开始那个代码吧,把等待时间加长一些。
作者: 9zhmke 时间: 2015-4-21 15:23
在代码里插入对CPU占用和硬盘占用的检测,如果占用量过高则等候一会儿再操作就没问题了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |