C#注册表编程示例二:在“新建”中添加自己的文件类型
来源:互联网 发布:coreldraw绘制软件下载 编辑:程序博客网 时间:2024/06/06 13:06
注册文件原理:
我知道当点击一个html文件时,浏览器就会自动打开,或者是点击一个doc文件,Word就会运行。有没有想过当用户点击你自己定义文件类型时,你的程序就会自动启动呢?其实想做到这点很简单,只须对注册表做点手脚就行了。每一个文件类型的信息被保存在注册表中的 'HKEY_CLASSES_ROOT'下面。假设我们自定义的文件类型的后缀为.xhg,文件名为Test_File_Hype (中间不能有空格).
- 首先在HKEY_CLASSES_ROOT下创建 .hyp HKEY_CLASSES_ROOT\.xhg将[默认]键值改为"Test_File_Hype"。
- 然后在HKEY_CLASSES_ROOT下添加主键 Test_File_HypeHKEY_CLASSES_ROOT\Test_File_Hype
- 按照下面的路径添加新的主键 HKEY_CLASSES_ROOT\Test_File_Hype\Shell HKEY_CLASSES_ROOT\Test_File_Hype\Shell\Open HKEY_CLASSES_ROOT\Test_File_Hype\Shell\Open\Command 将下面的字符作为Command的键值 your application path.exe %1 (例如 C:\WINDOWS\HYP\HYP.EXE %1) 或许你还想为自己的文件类型加上同自己的执行文件一样的图标,很简单,照下面的方法添加就行了。HKEY_CLASSES_ROOT\Test_File_Hype\DefaultIcon 输入键值 you application path.EXE,0 后面的零表示文件的图标同程序的主图标一致,如果你的程序有很多图标,换一换数字就可改变文件显示的图标了。
下面的例子在桌面的右键快捷菜单中或在Windows资源管理器的“新建”中添加自己的文件类型。假设添加的是扩展名为“.cs”的文件,说明文件为“cs files”,默认文件的打开方式采用Windows中的写字板notepad.exe打开。
程序清单18-2:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Microsoft.Win32;
namespace RegistryDemo{ public partial class fRegistry : Form { public fRegistry() { InitializeComponent(); }
private void btnAddFileType_Click(object sender, EventArgs e) { RegistryKey csFileKey = Registry.ClassesRoot.CreateSubKey(".xhg"); csFileKey.SetValue("", "xhg"); RegistryKey rkey = csFileKey.CreateSubKey("ShellNew"); rkey.SetValue("NullFile", ""); csFileKey.Close(); csFileKey = Registry.ClassesRoot.CreateSubKey("xhg"); csFileKey.SetValue("", "xhg file"); rkey.SetValue("", "c:\\windows\\notepad.exe,1"); rkey.Close(); rkey = csFileKey.CreateSubKey("shell\\open\\command"); rkey.SetValue("", "c:\\windows\\notepad.exe"); rkey.Close(); MessageBox.Show("修改成功!"); } }}
- C#注册表编程示例二:在“新建”中添加自己的文件类型
- 在Realview MDK中添加自己的FLASH编程算法
- 在source insight中添加新的文件类型
- 在source insight中 添加新的文件类型
- 在source insight中添加新的文件类型
- 在source insight中添加新的文件类型
- 在source insight中添加新的文件类型
- 注册表的文件类型关联
- 在MyEclipse 中添加自己定义的文件模版(----为myeclipse新建一个tapestry 5的tml模板)
- 在ubuntu右键菜单中增加新建文件类型
- 在C#中操作注册表
- 在C#中操作注册表
- intellj idea将自己常用的文件类型添加到菜单栏中
- 向注册表中注册文件类型
- 在eclipse中新建自己的工作集
- 在DS-5中新建一个自己的软件Project
- 在Outlook中添加自己的菜单
- 在Outlook中添加自己的菜单
- Android OpenGL ES (1) -- 基础
- typedef和define具体的详细区别 2011.07.12
- 电脑改变人类大脑:上网时间多大脑灰质减少
- 惨痛教训
- StrCmpLogicalW字符串逻辑比较函数
- C#注册表编程示例二:在“新建”中添加自己的文件类型
- Date,String,Timestamp转化
- wait()
- Eclipse 浏览文件插件 EasyExplorer 和 OpenExplorer
- MYSQL数据库设计的一点总结
- Struts2 与 Ext 整合开发
- android自定义ListView背景
- HTML表单(Form)
- Linux TOP命令 按内存占用排序和按CPU占用排序