【己解决】VBS能否一键切换 提高鼠标指针精确度 选项
[i=s] 本帖最后由 BAT1 于 2015-4-20 15:10 编辑 [/i]在打CS或者CF的时候,需要把 “提高鼠标指针精确度” 选项关闭,玩其他游戏时又要再次开启。
开启的操作步骤为:
1开始菜单——2设置——3控制面版——4鼠标——5指针选项——6提高指针精确度——7确定
这操作步骤太过于烦索了。
我想在桌面放一个快捷方式,
双击就关闭 “提高指针精确度”,并弹出一个“提高指针精确度”是处于什么状态的提示框。
再双击就反过来......
或者放两个快捷方式,
双击一个就开启指针精确度,双击另一个就关闭指针精确度。
不知能否实现? [i=s] 本帖最后由 yu2n 于 2015-4-18 20:47 编辑 [/i]
'VBS 设置鼠标指针精确度(5秒内) By yu2n
'Win7 x64 测试通过[code]'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[/code] [i=s] 本帖最后由 BAT1 于 2015-4-19 13:35 编辑 [/i]
[b]回复二楼[/b]
首先我非常感谢你的热心帮助,
其次,我使用XP操作系统,
经过50次测试,这个脚本在选项卡的选择上还存在一点小问题,希望你能再修改一下。
有时候停留在“鼠标键”,
选中“双击速度”,然后“确定”
有时候停留在“指针”,
选中“方案”,然后“确定”
有时候停留在“指针选项”。
选中“提高指针精确度”,然后“确定”(这个才是对的)
:L我该如何评价你的脚本呢? [i=s] 本帖最后由 yu2n 于 2015-4-19 14:33 编辑 [/i]
[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=166961&ptid=35241]3#[/url] [i]BAT1[/i] [/b]
XP的鼠标指针设置界面与Win7并无差别。
猜测是你的电脑反应速度的问题,亦或是杀毒软件的拦截。
可以自行修改 WScript.Sleep 后面的时间,电脑慢的话,时间要设置长一些。反之,可以设短些。
如果不介意注销、重启系统,可以考虑以下脚本。[code]'一般精确度.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"[/code][code]'提高精确度.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"[/code] [i=s] 本帖最后由 BAT1 于 2015-4-20 13:25 编辑 [/i]
[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=166964&ptid=35241]4#[/url] [i]yu2n[/i] [/b]
注销?重启? 我介意啊:L
在修改注册表的时候,可以先结束explorer进程,再重新加载explorer,作用是代替注销。
只是不知道 能否用在鼠标上。
你能不能在修改注册表的脚本后面,补上一段 重新加载explorer的代码?
最后按照这个顺序运行
1、一般精确度
2、CF主程序
3、提高精确度 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=167045&ptid=35241]5#[/url] [i]BAT1[/i] [/b]
重新加载explorer,对于鼠标精确度无效。 [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=167052&ptid=35241]6#[/url] [i]yu2n[/i] [/b]
好的,那我还是用最开始那个代码吧,把等待时间加长一些。 在代码里插入对CPU占用和硬盘占用的检测,如果占用量过高则等候一会儿再操作就没问题了。
页:
[1]