论坛登陆 注册 文章专区 投稿文章 旧版浏览
首页 | 页界资讯 | 安全动态 | 网络应用 | 组网技术 | 软件应用 | 工具软件 | 网管知识 | 帮助
文学 | 操作系统 | 注 册 表 | 编程语言 | 数 据 库 | 服 务 器 | 网页设计 | 图形图象 | VIP
论坛 | 网络安全 | 安全防范 | 黑客技术 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
专题 | 教育频道 | 特色专题 | 精文荟萃 | 聊天通讯 | 网络文学 | 书籍下载 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>操作系统>>注册表>>正文

在注册表中注册应用程序的数据文件

Www.Xker.Com 作者:不详 来源:本站整理转载 加入日期:2005-11-10 7:21:51

注册表是Windows操作系统的信息存储中心,存放着包括计算机硬件配置、已安装软件的设置信息、当前用户的环境设置及某些文件类型与对其进行访问和操作的应用程序之间的联系等重要信息。Windows操作系统早期版本中存放在初始化文件(.ini)中的许多信息现在都存放在注册表中了。
    我们开发的软件常常要建立具有独特数据格式的数据文件。作为一个专业化的商品软件,其安装程序有责任将其所用到的特殊格式的数据文件在注册表中进行注册,以使之和Windows操作系统更好地集成在一起,方便用户操作。
    
    下面,我们就以举例的形式详细介绍如何在注册表中对数据文件进行注册。这里假设软件的可执行文件为MyEdi t.exe,其实质为Windows附件中记事本应用程序Notepad.exe的拷贝(在C:\\ Windows目录下),并假设MyEdit所用的数据文件的扩展名为.met。
    
    1.准备工作
    1)请先在桌面空白处单击鼠标右键,在弹出菜单中选择“新建\\文件夹”菜单项,并把“新建文件夹”重命名为“ My_Edit”,作为我们假设软件的工作目录。
    2)在My_Edit文件夹上双击鼠标左键来打开该文件夹,在其窗口菜单中选择“文件\\新建\\文本文件”菜单项,或在其文件列表区域单击鼠标右键并在弹出菜单中选择“新建\\文本文件”菜单项,把新创建的一个“新建文本文件.t xt”重命名为Test.met。注意如果重命名前文件名中没有显示扩展名“.txt”,需要在窗口菜单中选择“查看 \\选项...”菜单项,在“选项”对话框中选择“查看”页,把“隐藏已登记的文件类型的MS-DOS文件扩展名”项改为不选状态。
    3)打开“资源管理器”选择C:\\Windows子目录下的Notepad.exe,按住Ctrl键将其拖到 My_Edit文件夹中,并重命名为MyEdit.exe。
    
    说明:现在,文件Test.met的图标为带有Windows标志的缺省图标,文件类型为“MET文件”。在其文件名上双击鼠标左键将弹出“打开方式”对话框让用户选择与之相关联的应用程序(这里请勿进行任何操作即选择“取消 ”按钮关闭对话框)。在其文件名上单击鼠标右键弹出菜单中的第一项为“打开方式”而非通常的“打开”。“新建”菜单组中也没有有关该文件类型的选项。
    
    2.注册文件类型
    1)在“开始”菜单中选择“运行...”菜单项,在对话框中输入Regedit并单击“确定”按钮启动注册表编辑器。
    2)在树形列表中选择主键HKEY_CLASSES_ROOT,单击鼠标右键并在弹出菜单中选择“新建\\主键 ”,并把新建的主键名由“New Key#1”改为“.met”。
    3)在右边窗口中双击“(默认)”并在“键值”编辑框内输入My_Edit_Data_File后单击“确定 ”按钮。
    4)重复2)操作,只是在最后把新建的主键名改为3)中的输入值My_Edit_Data_File。
    5)在右边窗口中双击“(默认)”并在“键值”编辑框内输入“MyEdit数据文件”后单击“确定”按钮。
    6)关闭注册表管理器。
    
    再次打开My_Edit文件夹(如果已经打开,请按F5键以更新显示信息),我们看到文件Test.met的类型已被注册为前面设定的“MyEdit数据文件”。
    
    3.注册文件图标
    1)重复注册文件类型的步骤1)打开注册表管理器。
    2)在树形列表中选择HKEY_CLASSES_ROOT\\ My_Edit_Data_File(各主键是按字母顺序排列的),在其下创建DefaultIcon主键。
    3)选择DefaultIcon,在右边窗口中双击“(默认)”并在“键值”编辑框内输入“C:\\ Wind ows\\ Desktop\\ My_Edit\\ MyEdit.exe,0”后单击“确定”按钮。
    4)关闭注册表管理器。
    
    说明:我们再回到My_Edit文件夹(如果已经打开,请按F5键以更新显示信息),看到文件Test.me t的图标已被修改为记事本应用程序的图标。实际上,文件的图标是由其DefaultIcon键值决定的。键值分两部分,中间用逗号隔开。前面是包含图标资源的文件名,可以为一个应用程序、动态链接库或资源文件,后面是一个数字,正值表示图标在文件中的索引(从0开始),负值表示图标的资源标识。如果是文件的第一个图标资源,可以省略逗号和数字。
    
    4.注册弹出菜单项
    1)重复注册文件类型的步骤1)打开注册表管理器。
    2)在树形列表中选择HKEY_CLASSES_ROOT\\ My_Edit_Data_File(各主键是按字母顺序排列的),在其下创建Shell主键。
    3)在刚刚创建的Shell下创建Open主键,再在Open下创建Command主键。
    4)选择Command,在右边窗口中双击“(默认)”并在“键值”编辑框内输入“C:\\ Windows\\ Desktop\\ My_Edit\\ MyEdit.exe%1”后单击“确定”按钮。
    5)回到Shell下,创建Print主键,再在Print下创建Command主键。
    6)选择Command,在右边窗口中双击“(默认)”并在“键值”编辑框内输入“C:\\Windows\\D esktop\\My_Edit\\MyEdit.exe/p%1”后单击“确定”按钮。
    7)关闭注册表管理器。
    
    说明:现在重新回到My_Edit文件夹,在文件名Test.met上单击右键,弹出菜单中已没有了“打开方式”项而增加了“打开”和“打印”菜单项(图2)。单击“打开”将用MyEdit.exe打开Test.met进行编辑,单击“打印”将把Test.met送往默认打印机进行打印。各菜单项下主键Command的数据为此菜单项对应的操作命令,其中%1表示当前文件名。这里只建立了比较常用也是相对标准的“打开”和“打印”菜单项,按同样格式,我们也可以建立其他任何菜单项。 [page]
    
    5.在“新建”菜单组中添加数据文件
    1)重复注册文件类型的步骤1)打开注册表管理器。
    2)在树形列表中选择HKEY_CLASSES_ROOT \\.met,在其下创建ShellNew主键。
    3)选择ShellNew主键,在窗口菜单中选择“编辑\\新建\\串值”,并把新建的串值名称改为NullFi le。
    4)关闭注册表管理器。
    
    说明:现在,请在“桌面”空白处单击右键,移动鼠标到“新建”菜单项,会看到其中已经新加了一项“MyEdi t数据文件”(图3),选择该项就会在“桌面”上新建一个名为“新建 MyEdit数据文件.met”的新文件。其实,我们还可以通过在ShellNew主键下建立其他串值对新建的文件进行更多一些控制,这样的串值共有四个,它们是:
    
    (1)NullFile:它的串值数据是\"\",用于创建一个空文件。若存在此项,则Data和FileNam e项将被忽略。
    (2)Data:它的串值数据是binary_value,用于创建一个包含有二进制数据binary_va lue的新文件。若存在NullFIle或FileName项,此将被忽略。
    (3)FileName:它的串值数据是path_name,用于生成一个由path_name所指定的文件的拷贝。若存在NullFIle项,此将被忽略。
    (4)Command:它的串值数据是path_name,用于创建新文件后,执行path_name所指定的命令行。
    
    至此,我们已经完成了基本的数据文件注册工作。需要说明的是,上述工作我们是通过手工操作完成的,在实际应用中应该由安装程序通过调用RegCreateKeyEx()和RegSetValueEx()等Win32 API函数自动完成,并在卸载程序中通过调用RegDeleteKey()等函数予以删除。应用程序的卸载信息注册在HKEY _LOCAL_MACHINE \\ SOFTWARE \\ Microsoft \\ Windows \\ Curre ntVersion \\ Uninstall主键下面,可以在这里新建一个名为MyEdit的主键,除了“(默认)” 外再新建两个串值:DisplayName的数据指定一个在“控制面板”中的“添加/删除应用程序”对话框中显示的字符串,UninstallString的数据则指定运行卸载程序的命令行,包括路径、可执行文件名和所需的命令行参数。
    
    另外,通过扩展Windows外壳(Shell)可以在某种类型文件的“属性”中添加新的属性页,这涉及到一些比较深入的编程技术,在此不予讨论。
    
    来源:软件世界

上一篇:Windows 98注册表的应用
下一篇:修改注册表限制Win9X/NT系统功能

关闭窗口】【浏览次数:】【发送给好友】【收藏此页
相关文章 最新文章 热门文章

·PHP 的来龙去脉
·PHP 的功能概述
·PHP与其它CGI的比较
·环境需求与准备工作
·环境需求与准备工作
·PHP 的编译配置详细选项
·php.ini 配置详细选项
·如何写作PHP程序
·Hello,World
·嵌入方法
·Dreamweaver视频教程
·怎样查找对方的IP地址
·DMA让你的硬盘速度飞起来
·最经典的黑客入门教材
·让你的网速快到不可思议
·2005年度主流聊天工具横评
·电脑初学者必备之Windows进程大全
·黑客入侵论坛各种手段大暴光 
·互联网的巨大威胁 ICMP洪水攻击浅析
·自己动手 让组装机也来一键恢复
评论 本站声明
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
【注】 发表评论必需遵守以下条例:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
  • 本站大部分为网络转载,如有版权问题,请通知我们,我们立即更正!

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2005 xker.com All rights reserved. 网站合作、广告联系QQ:12231446
小新技术网 冀ICP备05002857号