Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows编程:为应用程序处理的不同文件类型设置不同的图标_C#_Windows_Registry - Fatal编程技术网

C# Windows编程:为应用程序处理的不同文件类型设置不同的图标

C# Windows编程:为应用程序处理的不同文件类型设置不同的图标,c#,windows,registry,C#,Windows,Registry,如何在Microsoft Windows中为应用程序处理的不同文件类型设置不同的图标 即使只是一个高层次的解释也会有所帮助 谢谢, Dan文件扩展名及其图标通过注册表进行控制 下面是关于如何使用部署项目的更多信息,大多数安装程序(如免费提供的installshield)都有类似的功能 将图标分配给Windows注册表中的文件。您可以在dll中提供图标,就像在visual studio中提供Windows的shell32.dll一样。 微软使用了一个技巧来处理这种情况 他制作了一个动态链接库,把所

如何在Microsoft Windows中为应用程序处理的不同文件类型设置不同的图标

即使只是一个高层次的解释也会有所帮助

谢谢,
Dan

文件扩展名及其图标通过注册表进行控制

下面是关于如何使用部署项目的更多信息,大多数安装程序(如免费提供的installshield)都有类似的功能


将图标分配给Windows注册表中的文件。您可以在dll中提供图标,就像在visual studio中提供Windows的shell32.dll一样。

微软使用了一个技巧来处理这种情况

他制作了一个动态链接库,把所有的图标都放在上面。在系统注册表中,他制定了一条规则,即如何显示ascx和aspx的图标。 他将文件扩展名作为名称,图标作为值

当visual studio运行visual studio时,请读取系统注册表并显示图标


如果您不相信这一点,您可以在系统中有visual studio的情况下在regedit中阅读此内容。

大多数文件关联都是在
HKEY\U CLASSES\U ROOT
下定义的。在这里,为每个文件扩展名定义一个类。例如,在
HKCR\.txt
下,您将找到
txtfile
作为默认值。如果您转到
HKCR\txtfile
,您将找到与此类相关的所有操作,包括
HKCR\txtfile\shell
下的
open
HKCR\txtfile\DefaultIcon
下的图标


MSDN有一些功能。

我认为Visual studio是一个“她”:)我使用它来帮助开发人员,他们使用这个技巧来开发系统,而不是Visual studio。