这很奇怪,一些startmenu项目似乎解析为一个“友好”名称,该名称未包含在实际的.lnk文件中。例如:
“c:\ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ Accessories \ System Tools \ dfrgui.lnk”在资源管理器中显示为“磁盘碎片整理程序”,实际的快捷方式文件也不包含实名。链接到exe“C:\ Windows \ system32 \ dfrgui.exe”“
这是一个Win32 API的东西,还是有一种更简单的方法来获取文件/开始菜单项的“友好”名称?
答案 0 :(得分:5)
该文件夹中有一个名为 desktop.ini 的隐藏文件。这是我机器上的内容:
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21788
[LocalizedFileNames]
System Information.lnk=@%systemroot%\system32\msinfo32.exe,-100
Resource Monitor.lnk=@%SystemRoot%\system32\wdc.dll,-10030
dfrgui.lnk=@%systemroot%\system32\dfrgui.exe,-103
Task Scheduler.lnk=@%SystemRoot%\system32\miguiresource.dll,-201
System Restore.lnk=@%systemroot%\system32\rstrui.exe,-100
Disk Cleanup.lnk=@%SystemRoot%\system32\shell32.dll,-22026
Character Map.lnk=@%SystemRoot%\system32\shell32.dll,-22021
Windows Easy Transfer.lnk=@%windir%\system32\migwiz\wet.dll,-588
Windows Easy Transfer Reports.lnk=@%windir%\system32\migwiz\wet.dll,-591
这是相关的一行:
dfrgui.lnk = @%SYSTEMROOT%\ SYSTEM32 \ dfrgui.exe,-103
-103值表示从dfrgui.exe中的字符串资源#103读取字符串。在Visual Studio中,我使用了File + Open + File,选择了c:\ windows \ system32 \ dfrgui.exe。打开“String table”并双击它:
根据您居住的地方,您的机器可能会有所不同。我展示的是英文版的Win7。