C修改windows文件关联.doc

上传人:scccc 文档编号:12012183 上传时间:2021-12-01 格式:DOC 页数:2 大小:14.50KB
返回 下载 相关 举报
C修改windows文件关联.doc_第1页
第1页 / 共2页
C修改windows文件关联.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《C修改windows文件关联.doc》由会员分享,可在线阅读,更多相关《C修改windows文件关联.doc(2页珍藏版)》请在三一文库上搜索。

1、C# 修改 windows 文件关联C#修改windows文件关联上次我说过我用 C#写了一个用来代替 vista 图片浏览器的小东东,闲来无事又小 小更新了下,加入了文件关联的部分。众所周知, windows 判断文件的类型是通过文件的扩展名的! 其文件关联信息存储在注册表的 HKEY_CLASSES_ROOT 主键里面,分成两部 分:1、文件扩展名相关的信息,比如文件类型(一个文件 类型可能对应多个扩展名,比如 jpegfile - .jpg, .jpeg,.jpe); 2、文件类型相关的信息,比如图标,打开方式,编 辑方式,打印机程序等等,所有文件类型相关的右键菜单在 这里都能找到!那么

2、,要修改一种文件 的打开方式的话,先通过扩展名找到在系统注册的文件类型, 然后修改此文件类型的打开方式。比如, .jpg 的注册类型是 jpegfile ,而jpegfile 下的子键 shellopencommand 的默认值就是默 认的打开程序。那么修改注册表吧,使用 Microsoft.Win32 命名空间的 Registy 和 RegistryKey 两个类, Registry 提供了很多静态方 法和属性。 RegistryKey 提供一系列打开子键、获取值和设置值的方法。代码如下:/ typeName shouldlooks like ".png" which i

3、s a standard keyname in HKEY_CLASSES_ROOTprivate voidsetAssociatedFileType(string typeName, string app) string fileType = getTypeKeyName(typeName);Registry.ClassesRoot.OpenSubKey(fileType + "shellopencommand", true).SetValue(null, app); private string getAssociatedFileType(string typeName)

4、 string fileType = getTypeKeyName(typeName); return (string)Registry.ClassesRoot.OpenSubKey(fileType + "shellopencommand").GetValue(null); private string getTypeKeyName(string typeName) RegistryKey key =Registry.ClassesRoot.OpenSubKey(typeName); return (string)key.GetValue(null); 其中的 app 是你希望作为默认打开方式的应用程序路径 + "1%" ,比如 "notepad.exe1%" ,1%可能需要使用引号括起来, 否则不能正确处理包含空格的路径。另外注意,如果需要写入注册表值,一定要在OpenSubKey 的参数表中加入允许写入的true (这里我郁闷了半天厂厂人厂Q、。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1