Windows 编程:为应用程序处理的不同文件类型设置不同的图标
如何为 Microsoft Windows 中的应用程序处理的不同文件类型设置不同的图标?
即使只是一个高级的解释也会有所帮助。
谢谢, 担
How do you go about setting different icons for the different file types handled by your application in Microsoft Windows?
Even just a high-level explanation will help.
Thanks,
Dan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
大多数文件关联都在
HKEY_CLASSES_ROOT
下定义。在那里,您为每个文件扩展名定义一个类。例如,在HKCR\.txt
下,您会发现txtfile
作为默认值。如果您转到HKCR\txtfile
,您将找到与此类关联的所有操作,包括HKCR\txtfile\shell
下的open
和HKCR\txtfile\DefaultIcon
下的图标。MSDN 提供了一些更多信息。
Most file associations are defined under
HKEY_CLASSES_ROOT
. In There, you define a class for each file extension. For example, underHKCR\.txt
you'll findtxtfile
as the default value. If you go toHKCR\txtfile
, you'll find all the actions associated with this class, includingopen
underHKCR\txtfile\shell
and the icon underHKCR\txtfile\DefaultIcon
.MSDN has some more information.
文件扩展名及其图标是通过注册表控制的。
这里有一些有关如何在部署项目中执行此操作的更多信息,大多数安装程序(例如免费提供的 installshield)都具有类似的功能
http://www.c-sharpcorner.com/uploadfile/scottlysle/customfiletype12082006000848am/customfiletype.aspx
File extensions and their icons are controlled through the registry
Here's some more info on how to do it with a deployment project, most installers like installshield that's included for free have similar features
http://www.c-sharpcorner.com/uploadfile/scottlysle/customfiletype12082006000848am/customfiletype.aspx
将图标分配给 Windows 注册表中的文件。您可以在 dll 中提供图标,就像 Windows 的 shell32.dll 一样。
Assign the icons to the files in Windows registry. You can give icons in a dll just like Windows' shell32.dll.
在 Visual Studio 中,
微软使用了一个技巧来处理这种情况。
他制作了一个dll并将所有图标放在上面。在系统注册表中,他制定了如何显示 ascx 和 aspx 图标的规则。
他将文件扩展名作为名称,将图标作为值。
当 Visual Studio 运行 Visual Studio 时,它会读取系统注册表并显示图标。
如果您不相信这一点,如果您的系统中有 Visual Studio,您可以在注册表中阅读此内容。
In visual studio
Microsoft use a trick to handle this situation.
he make a dll and he put all icon on them. in system registry he make the rule that how they show the icon for ascx and aspx.
he put the file extension as name and icon as value.
when visual studio run visual studio read the system registry and show the icon.
if you don't believe this you can read this in your regedit if you have visual studio in your system.