我们在win 7右键无法新建快捷方式的问题,问题描述如题,下面记录下解决办法,查看跟.lnk相关的注册表信息,保存以下代码到a.bat运行。
问题描述如题,下面记录下解决办法:
第一、查看跟.lnk相关的注册表信息,保存以下代码到a.bat运行:
C#代码
Reg Query HKCR.lnk /S >"%Userprofile%DesktopRegQuery.txt"&Start Notepad "%Userprofile%DesktopRegQuery.txt"
这段代码会查找注册表里有关.lnk(快捷方式)的设置,并且把查找结果保存到桌面的RegQuery.txt文件里,然后打开这个文件。
第二、查看搜索到的信息,我的信息如下:
RegQuery.txt
HKEY_CLASSES_ROOT.lnk
(Default) REG_SZ lnkfile
HKEY_CLASSES_ROOT.lnkShellEx
HKEY_CLASSES_ROOT.lnkShellEx
(Default) REG_SZ
HKEY_CLASSES_ROOT.lnkShellEx
(Default) REG_SZ
HKEY_CLASSES_ROOT.lnkShellEx
(Default) REG_SZ
HKEY_CLASSES_ROOT.lnkShellEx
(Default) REG_SZ
HKEY_CLASSES_ROOT.lnkShellNew
Handler REG_SZ
IconPath REG_EXPAND_SZ %SystemRoot%system32shell32.dll,-16769
ItemName REG_SZ @shell32.dll,-30397
MenuText REG_SZ @shell32.dll,-30318
NullFile REG_SZ
Command REG_SZ rundll32.exe appwiz.cpl,NewLinkHere %1 ------->加粗~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HKEY_CLASSES_ROOT.lnkShellNewConfig
DontRename REG_SZ
加粗的一行即为问题所在,ShellNew的Command如果以上的情况,那么就需要修改了。(上面的注册表情况是适用于XP……)
第三、修复问题(只需要删除掉Command这一行就好),保存以下代码到b.bat,运行:
C#代码
reg delete HKCR.lnkShellNew /V Command /F
这行代码会删除掉ShellNew里的Command这行,完成之后再右键->新建->快捷方式。我已经能顺利新建快捷方式了。
第四、修复问题后的lnk相关注册表信息如下:
RegQuery.txt 写道
HKEY_CLASSES_ROOT.lnk
(默认) REG_SZ lnkfile
HKEY_CLASSES_ROOT.lnkShellEx
HKEY_CLASSES_ROOT.lnkShellEx
(默认) REG_SZ
HKEY_CLASSES_ROOT.lnkShellEx
(默认) REG_SZ
HKEY_CLASSES_ROOT.lnkShellEx
(默认) REG_SZ
HKEY_CLASSES_ROOT.lnkShellEx
(默认) REG_SZ
HKEY_CLASSES_ROOT.lnkShellNew
Handler REG_SZ
IconPath REG_EXPAND_SZ %SystemRoot%system32shell32.dll,-16769
ItemName REG_SZ @shell32.dll,-30397
MenuText REG_SZ @shell32.dll,-30318
NullFile REG_SZ
HKEY_CLASSES_ROOT.lnkShellNewConfig
DontRename REG_SZ
----EOF----
通过以上的例子,就可以解决问题啦!