问题描述如题,下面记录下解决办法:
1、查看跟.lnk相关的注册表信息,保存一下代码到a.bat运行:
Reg Query HKCR\.lnk /S >"%Userprofile%\Desktop\RegQuery.txt"&Start Notepad "%Userprofile%\Desktop\RegQuery.txt"
这段代码会查找注册表里有关.lnk(快捷方式)的设置,并且把查找结果保存到桌面的RegQuery.txt文件里,然后打开这个文件。
2、查看搜索到的信息,我的信息如下:
RegQuery.txt
HKEY_CLASSES_ROOT\.lnk
(Default) REG_SZ lnkfile
HKEY_CLASSES_ROOT\.lnk\ShellEx
HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214EE-0000-0000-C000-000000000046}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214F9-0000-0000-C000-000000000046}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{00021500-0000-0000-C000-000000000046}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellNew
Handler REG_SZ {ceefea1b-3e29-4ef1-b34c-fec79c4f70af}
IconPath REG_EXPAND_SZ %SystemRoot%\system32\shell32.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\.lnk\ShellNew\Config
DontRename REG_SZ
(Default) REG_SZ lnkfile
HKEY_CLASSES_ROOT\.lnk\ShellEx
HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214EE-0000-0000-C000-000000000046}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214F9-0000-0000-C000-000000000046}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{00021500-0000-0000-C000-000000000046}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}
(Default) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellNew
Handler REG_SZ {ceefea1b-3e29-4ef1-b34c-fec79c4f70af}
IconPath REG_EXPAND_SZ %SystemRoot%\system32\shell32.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\.lnk\ShellNew\Config
DontRename REG_SZ
加粗的一行即为问题所在,ShellNew的Command如果以上的情况,那么就需要修改了。(上面的注册表情况是适用于XP……)
3、修复问题(只需要删除掉Command这一行就好),保存以下代码到b.bat,运行:
reg delete HKCR\.lnk\ShellNew /V Command /F
这行代码会删除掉ShellNew里的Command这行,完成之后再右键->新建->快捷方式。我已经能顺利新建快捷方式了。
4、修复问题后的lnk相关注册表信息如下:
RegQuery.txt 写道
HKEY_CLASSES_ROOT\.lnk
(默认) REG_SZ lnkfile
HKEY_CLASSES_ROOT\.lnk\ShellEx
HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214EE-0000-0000-C000-000000000046}
(默认) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214F9-0000-0000-C000-000000000046}
(默认) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{00021500-0000-0000-C000-000000000046}
(默认) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}
(默认) REG_SZ {00021401-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\.lnk\ShellNew
Handler REG_SZ {ceefea1b-3e29-4ef1-b34c-fec79c4f70af}
IconPath REG_EXPAND_SZ %SystemRoot%\system32\shell32.dll,-16769
ItemName REG_SZ @shell32.dll,-30397
MenuText REG_SZ @shell32.dll,-30318
NullFile REG_SZ
HKEY_CLASSES_ROOT\.lnk\ShellNew\Config
DontRename REG_SZ
----EOF----
--nigelzeng 2013.1.30--