使用C#自动注册自定义文件类型.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用C#自动注册自定义文件类型

使用C#自动注册自定义文件类型 在我们自己编写的应用中,经常会用自定义类型的文件的来保存与应用相关的数据,如何改变我们的自定义类型的文件的图标?如何双击自定义类型文件的时候启动相应的应用程序了?本文将告诉你如何通过程序来完成这些功能! 比如.xcf文件就是XCodeFactory应用程序的项目文件。如果没有向Windows注册表注册该文件类型,那么.xcf文件的图标将是windows的文件默认图标,并且你双击一个a.xcf文件,也不会自动启动XCodeFactory应用程序来加载a.xcf文件。如何使.xcf文件的图标变成我自己喜爱的图标、如何完成像点击.doc文件就自动打开word程序的功能,下面将告诉你解决方案。 我们可以通过手动修改注册表来完成上述任务,更好的方式是,通过程序来实现。这样,在安装应用程序时,就可以自动的注册自定义文件类型了。我通过FileTypeRegister静态类来完成这些功能。首先,将注册需要用到的信息封装成FileTypeRegInfo,定义如下:public?class?FileTypeRegInfo?{?///?summary?///?目标类型文件的扩展名?///?/summary?public?string?ExtendName?;??//.xcf??///?summary?///?目标文件类型说明?///?/summary?public?string?Description?;?//XCodeFactory项目文件?///?summary?///?目标类型文件关联的图标?///?/summary?public?string?IcoPath?;?///?summary?///?打开目标类型文件的应用程序?///?/summary?public?string?ExePath?;?public?FileTypeRegInfo()?{?}?public?FileTypeRegInfo(string?extendName)?{?this.ExtendName?=?extendName?;?}?}FileTypeRegister类主要是操作注册表中的内容,实现如下:///?summary?///?FileTypeRegister?用于注册自定义的文件类型。?///?zhuweisky?2005.08.31?///?/summary?public?class?FileTypeRegister?{?#region?RegisterFileType?///?summary?///?RegisterFileType?使文件类型与对应的图标及应用程序关联起来。?///?/summary??public?static?void?RegisterFileType(FileTypeRegInfo?regInfo)?{?if(RegistryHelper.FileTypeRegistered(regInfo.ExtendName))?{?return?;?}?string?relationName?=?regInfo.ExtendName.Substring(1?,regInfo.ExtendName.Length-1).ToUpper()?+?_FileType?;?RegistryKey?fileTypeKey?=?Registry.ClassesRoot.CreateSubKey(regInfo.ExtendName)?;?fileTypeKey.SetValue(?,relationName)?;?fileTypeKey.Close()?;??RegistryKey?relationKey?=?Registry.ClassesRoot.CreateSubKey(relationName)?;?relationKey.SetValue(?,regInfo.Description)?;?RegistryKey?iconKey?=?relationKey.CreateSubKey(DefaultIcon)?;?iconKey.SetValue(?,regInfo.IcoPath)?;?RegistryKey?shellKey???=?relationKey.CreateSubKey(Shell)?;?RegistryKey?openKey????=?shellKey.CreateSubKey(Open)?;?RegistryKey?commandKey?=?openKey.CreateSubKey(Command)?;?commandKey.SetValue(?,regInfo.ExePath?+??%1)?;??relationKey.Close()?;?}?///?summary?///?GetFileTypeR

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档