在电脑桌面点鼠标右键无菜单显示 且自动刷新 怎么办
1、解决Windows7系统,用鼠标右键点击计算机桌面,没有任何反应的方法
修改注册表,注册表路径为:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
开始 - 运行(输入regedit.exe) - 确定或者回车,打开注册表编辑器;
2、在注册表编辑器中找到:HKEY_CURRENT_USER并展开:HKEY_CURRENT_USER;
步骤阅读
3、我们在HKEY_CURRENT_USER展开项中找到:Software并展开;
4、再在Software展开项中找到:Microsoft并展开;
5、在Microsoft的展开项中找到:Windows并展开;
6、我们再在Windows的展开项中找到:CurrentVersion,展开;
7、在CurrentVersion的展开项中找到:Policies,并展开Policies;
8、在Policies展开项中有一个Explorer,我们左键单击:Explorer,在Explorer对应的右侧窗口找到:NoViewContextMenu,并右键单击:NoViewContextMenu,在下拉菜单中左键点击:删除;
9、在弹出的确认数值删除窗口,我们点击:是(Y),退出注册表编辑器,重新启动计算机。
10、重启计算机后,我们再在计算机桌面使用鼠标右键,已经恢复正常了。
END
方法/步骤
1、修改注册表值前备份注册表的方法
步骤:
我们修改注册表值,一定要从开始 - 运行(输入regedit)- 确定或者回车进入注册表编辑器;
2、如:我们为了提高键盘的灵敏度,可以修改注册表值。
在注册表编辑器窗口,依次展开:HKEY_CURRENT_USER \ ControlPanel \ Keyboard;
3、在Keyboard对应的右侧窗口,
InitialKeyboardIndicators(是最初键盘指示)默认设置为“2”,不需要修改;
KeyboardDelay(是键盘延迟),设置为“0”(延迟时间当然是越少越好,但Windows8.1系统不能设置为“0”),但修改KeyboardDelay值之前,我们先备份注册表值,备份方法为:
(1)左键点击KeyboardDelay;
(2)左键点击:文件;
(3)左键点击:导出(E)...;
4、在打开的导出注册表文件窗口,先检查所选分支是否正确,然后点击:桌面,在文件名(N)栏内输入:键盘延迟,再点击:保存(S);
5、这时在计算机的系统桌面会出现一个键盘延迟的注册表文件,注册表备份成功。
6、备份KeyboardDelay注册表值后,我们修改KeyboardDelay的值为“0”,退出注册表编辑器。
7、如果修改注册表值出现问题,我们左键双击桌面的键盘延迟注册表文件图标就可以恢复注册表。
8、在弹出的提示窗口,我们点击:是(Y);
9、接下来点击:确定。
10、打开注册表编辑器,我们可见,注册表编辑器中KeyboardDelay值已经恢复为原来的数值“1”。
怎样用批处理完成和"桌面右击刷新"一样的功能的刷新?
加个自动刷新功能还要调用吗?是不是先建立xxx.bat?再建一个xxx.vbs?这样做的目的是什么呢?是不是多此一举了?其实很多人不明白F5按一下键的事为什么还要多此一举弄个自动刷新,其实问这个问题的人很聪明。我来给你们说一说,vbs自动刷新的作用。首先,我们在执行一系列的命令之后,可能有些东西从视觉上不能实时生效,但是呢为了保证后续一系列的命令100%顺利执行,那么就需要自动刷新一下来解决,当然,这整个脚本都必须是在隐藏命令窗口的条件下,自动刷新才能生效,因为我们要保证此时我们的鼠标指针是处在桌面上的,当我们从桌面打开这个批处理文件的时候就意味着它已经处于桌面,如果是显窗执行,那么刷新代码是会跑空的;此外刷新命令还有一个作用,比方说,我正在运行一个不是实时更新的通讯窗口(这个通讯窗口一定是要支持F5键物理刷新的),两个人的信息交流每次都要对窗口手动刷新一下,那么只要我们处于通讯窗口,可以开一个每x秒刷新一次的vbs脚本;此外,比如我们向某一个服务端提交通讯数据之后需要刷新查看反馈结果是否成功,也可以应用这个批处理自动刷新功能,比方说,我现在要向一个服务端每3分钟提交一次讯息,每提交一次等待3秒刷新一下通讯窗口防止链接中断或者对方的回复无法更新到我们的对话窗口,那么我就会写一个固定的提交列表,每一次提角做一个定时器,那么和自动刷新组合起来就是:定时信息内容+定时刷新的一个组合循环。所以说,不要小看一句简单的自动刷新句子,它的应用场景非常广泛,就是看你会不会活用。楼主的想法或是应用这个功能的意图是不是我所说的呢?这里给你句子:Set Shell=WScript.CreateObject("WScript.Shell") WScript.Sleep 0Shell.SendKeys "{F5}"第一行:调用模拟按键第二行:定时器,每1000=1秒,0=不定时,不定时可以直接去掉这一行第三行:模拟按下F5键位顺便提一下:VBS中是不能用@ECHO OFF语句的,可能会报错,VBS默认是无框执行的。最佳答案的方法是通过隐藏运行的bat批处理调用自动刷新vbs文件来实现的,既然vbs自身能直接实现,为什么不直接用vbs编译呢?然后,如果你中间需要执行的文件特别多,最好是通过vbs调用bat来做,因为bat的命令相对来说随性一点,但是有很多必要的东西放在bat中是不能实现的。比方说,如果你最终想利用bat和vbs组合出来一个小工具,然后封包成EXE来执行,以好压自解压封包为例。那么,你需要做的是隐藏命令窗口,但是一旦隐藏了命令窗口,这意味着你在bat中编写的对话框全部都会失效。而通过vbs制作的对话框以及弹窗则不会被隐藏,所以建议使用vbs调用bat来写东西,当然这只是一个点,还有更多的差异这里就不多说了。我给个实例如下:通过vbs调用bat,然后封包成exevbs示例代码如下:msgbox "大家好,我系渣渣辉",title,"贪玩蓝耶!"msgbox "装备全靠打",title,"一键回收"msgbox "跟我一起行动吧!",title,"爆将备啦!"Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c Cout1.bat",vbhide,True Set Shell=WScript.CreateObject("WScript.Shell") WScript.Sleep 3000Shell.SendKeys "{F5}"msgbox "干掉大BOSS",title,"赶紧回血!"Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c Cout2.bat",vbhide,True Set Shell=WScript.CreateObject("WScript.Shell") WScript.Sleep 3000Shell.SendKeys "{F5}"msgbox "终于干掉啦!",title,"你心动了吗"CreateObject("scripting.filesystemobject").deletefile wscript.scriptfullname“True”表示执行完同一行中调用的命令关闭之后才往下执行,如果想几个bat命令同时执行,我们可以直接去掉,那么会同时打开多个bat脚本执行,但是,如果两个或多个bat命令同时对一个文件执行,必然会出错。最后一句是在用户解压运行之后程序自杀,等于在bat中的句子“del %0”补充内容:利用好压或者winrar将批处理组合封包成exe的方法首先,我们在做封包之前需要明白,自解压的exe不管是什么内容,只要自定义图标了,都是在安全软件的查杀标准安全范围之外的,几乎所有杀软都不承认自解压打包的exe可执行文件的安全性。如果你不是很在意这个很烦的提示,那么就按照下面的方法去做,如果先不然安全软件查杀,那么就需要使用exe电子书工具生成的界面,然后将所有批处理文件打包到电子书附件中去,然后通过按钮链接到附件就能够实现不报毒,在压缩时不修改图标也不会报毒,出这两种方法之外,还可以使用易语言或其他简易的编程工具做一个简单的界面,然后将所有原始格式(bat/vbs)批处理文件放到同一个文件夹下,然后通过按钮简单的调用。以下只列举以好压为例的打包方法:以下是一个简单的vbs+bat组合小工具的文件内容截图大家可以注意到两个地方,一个是上面提及的自我删除语句,第二个就是在bat文件中用到的ping语句,这里其实是可以不用的,之所以会每隔一道命令就ping1秒,是为了不导致卡窗口,当然隐藏执行的情况下就算是卡窗口也看不见,但是一旦卡住就会瞬间占用系统内存资源,虽然命令都是从上往下执行的,但是如果不ping一下,就是一瞬间弹一堆窗口,主要是cmd命令执行间隙非常短。除了这样,我们也可以利用在vbs中的执行等待语句“True”来解决,那么我们就要把每一条bat命令分别做成一个bat批处理文件,有多少命令就做多少个文件,在vbs调用中,依然是下面这道命令:Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c 某某文件的前缀.某某文件的后缀",vbhide,True很明显,这样就显得很烦琐了,那么还是用PING吧,当然,对批处理用到出神入化的人可能会想到更合理的方案。但是,以上的两个方案对新手而言还是比较容易上手的。接下来我就要将这两个文件用好压封包成exe了:接下来是选择配置方案第一页:然后是自解压选项配置,安装向导模块选图形界面自解压(通过后面的设置可以隐藏掉)分别对下图中被框选的选项卡进行配置:请看三个选项卡的配置:然后点击确定,关闭选项卡,开始压缩,结果如下图:那么,我们来测试一下这个exe文件的运行是否成功:那么本次制作的小工具是成功的,这里顺便把实例的两个文件代码贴这里,分别以记事本保存为vbs/bat后缀即可,有兴趣的朋友可以试试!xxx.vbsmsgbox "本工具可修复的问题包括:"+chr(13)+"1.鼠标指针长时间无响应;"+chr(13)+"2.鼠标双击失灵;"+chr(13)+"3.鼠标左键点击弹出属性;"+chr(13)+"4.剪切板失效;"+chr(13)+"5.其他更多鼠标故障。",title,"感谢您使用!"msgbox "即将为您修复鼠标故障!请点击确定继续!",title,"温馨提示"msgbox "请您在每次弹出对话框之后点击“确定”!",title,"温馨提示"Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c Cut.bat",vbhide,True msgbox "修复工作执行完毕!请稍后尝试问题是否解决!",title,"修复完成"msgbox "如果问题尚未解决,请联反馈给我免费协助您处理!",title,"如果修复失败怎么办"CreateObject("scripting.filesystemobject").deletefile wscript.scriptfullnamexxx.batregsvr32 urlmon.dll ping -n 1 127.0.0.1 regsvr32 actxprxy.dll ping -n 1 127.0.0.1regsvr32 oleaut32.dll ping -n 1 127.0.0.1 regsvr32 shell32.dll ping -n 1 127.0.0.1 regsvr32 jscript.dll ping -n 1 127.0.0.1regsvr32 msi.dll ping -n 1 127.0.0.1cd C:/Progra~1/Common~1/System/Ole DB/regsvr32 oledb32.dllping -n 1 127.0.0.1 regsvr32 C:/Progra~1/Common~1/System/ado/msado15.dll del %0至于这个问题:无论是bat还是vbs脚本语言都只能做到模拟键盘按键,而鼠标不同,光标的位置是不确定的,如果说我们想要实现模拟鼠标的右键功能,那么前提就是我们必须获取到鼠标当前的坐标,然后需要将鼠标切换到指定的需要执行刷新窗体或桌面,也就是说,我们无论是模拟按键F5还是模拟鼠标右键刷新,都需要保证让工作界面处于我们需要做刷新动作的界面。注意前面的那一句话:“获取光标当前的坐标”,这需要我们创建一个数据传递结构的框架来获取实时的坐标信息,然后才能判断出对应的菜单项所处的位置,而鼠标右键菜单又有一个特性,那就是可以由用户自行添加或减少右键菜单的快捷键,但用户又不能控制自行添加的快捷键所处的排序位置,刷新菜单项有可能会被顶掉,当然通常情况下不会影响到刷新按钮的排序位置,因为它排在第三,比较靠前。就算我们能够获取鼠标的精准坐标,如果你此时同时在操作鼠标,那么这个位置就不对了,所以简单的vbs和bat理论上是无法实现模拟鼠标右键刷新的,至少我不会!但是在其他语言中,例如C#/C++/VB/DELPHI等编程语言中,可以实现极为短暂锁定鼠标-读取坐标-刷新-解除锁定。那么,按照你的意愿可以通过以上的调用形式,通过其它高级编程语言先将刷新动作写成可执行文件exe或者msi都是可以的,相对繁琐很多,不过你可以去下载一个别人做好的刷新动作可执行文件,然后再从脚本语言中调用,码字不易,希望能帮到你!我是一个不为悬赏作答的人,因为你已经采纳过了,因为我也比较喜欢空闲时倒腾这些东西,算得上一种业余爱好吧!