是什么决定了新上下文菜单中条目的图标?


20

我不完全确定这是如何工作的。因此,我可以通过注册表编辑器将项目添加到“新”上下文菜单(在右键单击或按下菜单按钮时显示)。例如,如果我想创建一个新的.cpp文件条目,则可以导入一个如下所示的.reg文件:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.cpp]
@="cpp"
[HKEY_CLASSES_ROOT\.cpp\ShellNew]
"NullFile"=""
[HKEY_CLASSES_ROOT\cpp]
@="C++ File"

因此,可以使用此方法设置扩展名和为其显示的说明。但是,我不确定如何确定描述旁边的图标。这就是我的意思:

在此处输入图片说明

我不确定Windows是否根据我设置为该扩展名的默认程序自动选择该图片,还是可以在注册表中手动设置它。

可以手动设置此图标吗?


2
此视频一直是这样两轮牛车价值的手表- channel9.msdn.com/Shows/Defrag-Tools/...
HelpingHand

Answers:


22

默认情况下,资源管理器将使用由文件类型设置的图标,但是可以通过IconPathShellNew键中放置一个值来覆盖它。我通过使用Process Monitor来查看来自的注册表活动来解决这个问题explorer.exe

看起来Windows的现有条目使用的是REG_EXPAND_SZ数据类型,但REG_SZ效果同样好,并且更容易包含在REG文件中。格式是包含图标的文件的完整路径,然后是逗号,然后是文件中图标资源的编号。在此屏幕截图中,我使用了%ProgramFiles%\Windows Mail\wab.exe,10

Shell新条目

如您所见,这不会影响“新建”列表之外的文件图标:

文件的图标与“新建”图标不同

要将更改包含在您的REG文件中,请在以下行的正下方添加此行"NullFile"=""

"IconPath"="%ProgramFiles%\\Windows Mail\\wab.exe,10"

您将需要重新启动资源管理器才能使更改生效。


1
我很惊讶能REG_SZ与环境变量一起使用。资源管理器可能会再次对其进行扩展。
鲍勃

@Bob除了用于A函数字符集转换,值类型不改变行为RegQueryValueEx。默认情况下,.NET Framework 进行REG_EXPAND_SZ的扩展,但基础Windows API不会。
本N

4

可以手动设置此图标吗?

是的,使用的文件类型管理器NirSoft

关于文件类型管理器

FileTypesMan是Windows“文件夹选项”中“文件类型”选项卡的替代方法。它显示计算机上注册的所有文件扩展名和类型的列表。对于每种文件类型,将显示以下信息:类型名称,描述,MIME类型,可感知的类型,标志,浏览器标志等。FileTypesMan还允许您轻松编辑每种文件类型的属性和标志,并允许您添加,编辑和删除文件类型中的动作。

系统要求

从Windows 98到Windows 10的任何版本的Windows上均可使用该实用程序。要在Windows 98 / ME下使用此实用程序,必须下载非Unicode版本。要在x64系统下使用此实用程序,应下载x64版本。

Source FileTypesMan-Windows的“文件类型”管理器的替代


详细说明

您需要做的第一件事是下载File Types Manager的副本。它几乎可以在所有Windows版本中使用,但是请务必注意您是否需要32位或64位版本。如果不确定,请按照以下方法确定您运行的是32位还是64位版本的Windows。

下载完成后,解压缩文件夹。这是一个便携式应用程序,因此您无需安装它-只需双击“ FileTypesMan.exe”即可上手。

fte_1

单击“默认图标”列标题,以按默认图标对列表进行排序。请注意,对于我们的屏幕截图,我们隐藏了几列以使内容更易于查看。您可能会在右侧进一步找到“默认图标”列。这会将所有已经具有相同图标的文件扩展名分组在一起。如果要更改使用同一图标的几种相关文件类型,这将很方便。如果您只打算更改一种文件类型,请随时按扩展名或类型名称排序。

fte_2

为了节省一些滚动,我们将使用find函数获取所需的文件类型。单击工具栏上的“查找”按钮(或按Ctrl + F)。在“查找”窗口中,输入要更改的文件类型的扩展名,然后反复单击“查找下一个”按钮,直到找到所需的扩展名。然后,您可以单击“取消”以关闭“查找”窗口。

fte_3

右键单击要更改其图标的扩展名,然后选择“编辑所选文件类型”。

fte_4

在“编辑文件类型”窗口中,单击“默认图标”文本字段右侧的“…”按钮。

fte_5

“更改图标”窗口显示一些基本图标,但是单击“浏览”按钮以查找您自己的图标文件。文件类型管理器允许您选择EXE,DLL或ICO文件。

fte_6

浏览并选择所需的图标文件后,可用图标将显示在列表中。从列表中选择所需的图标,然后单击“确定”。在此示例中,我们使用的是从IconArchive下载的图标文件,因此仅显示一个图标。如果您使用的是EXE或DLL文件,则可能会看到比ICO文件更多的图标。

fte_7

如果您需要为多个文件类型更改图标,则只需重复这些步骤。完成后,您可以关闭“文件类型管理器”并打开“文件资源管理器”窗口以签出您的更改。在我们的示例中,我们更改了GIF和PNG文件类型的图标(我们经常使用的两种图片文件类型),以便于区分它们。以前,所有图片文件都使用相同的图标-我们图像查看器应用程序的默认图标。

fte_8

来源如何在Windows中更改特定文件类型的图标


免责声明

我不以任何方式隶属于NirSoft,我只是其软件的最终用户。


请注意,这会更改系统范围内文件类型的图标。这是一个有用的程序。
MoonRunestar

0

记录:* .reg文件的第一行(“ Windows注册表编辑器版本5.00”)之后必须添加空白行,否则在执行时将引发错误。请参阅: https://support.microsoft.com/en-us/help/310516/how-to-add-modify-or-delete-registry-subkeys-and-values-by-using-a-reg#syntax为语法详细信息。

顺便说一句,这并不是对问题的真正答案,但在这里是新手,我不允许发表评论。但是主持人@robinCTS和@bertieb建议也可以将其作为答案提交,所以我在这里。也许这些主持人之一可以将其移至问题的评论区域(并同时编辑此参数)?谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.