比如用VC制作一个单文档应用程序aa,然后在本地机子上运行。运行过后发现:“右键->新建”中可以看到aa的字眼。我知道这是向注册表写了数据的结果。可我不知道在那个根键下写的,运行时向注册表到底写了哪些数据?
    请各位高手指点,不胜感激!

解决方案 »

  1.   

    如果我们自己设计一个程序,后缀名比如是.bob,那么我们怎么在系统中建立关联呢?可以直接双击.bob文件就可以用我们的程序打开它呢? 首先我们假设我们的程序安装在C:\PROGRAM FILES\BOBO文件夹下,程序名字叫boborun.exe,内含4个图标。那么我们在打包安装程序安装快完成时,如下设置注册表项。首先在HKEY_CLASSES_ROOT项下添加".bob"子项,这个是说明在系统内建立一个.bob的文件的关联。然后将它的默认值设为 “bobofile"(这个名字是系统识别的名字,并且在下面就要用这个名字来建立双击运行的关联,所以名字要和下面要添加的项一模一样。可以了,这个.bob的第一步完成了。(如果你要想在点右键的新建菜单内可以直接新建.bob文件,那么就再在.bob项下再添加一个子项“ShellNew”,将它的默认值改为“NullFile”就可以了) 好,我们再继续下一步,在HKEY_CLASSES_ROOT项下新建一个项:“bobofile”(这个项的名称一定要和前面的.bob的默认值的内容一样,否则系统还是无法识别.bob文件),将它的默认值可以随便改一个好记的名称,比如“波波的文件”、“波波专用文档”等等。这个也是在右键的新建菜单内出现的名称,只要是好记好理解就可以了。然后我们就在bobofile子项下新建一个子项“DefaultIcon”,这个顾名思义就是在系统中默认显示的图标了。我们可以把它的值设为我们程序的路径,比如:“C:\PROGRAM FILES\BOBO\BOBORUN.EXE,1"这样这个文件的图标就显示为boborun.exe文件里面的1号图标了哦。除了图标之外,还有一个最重要的项目没有建,就是关联!
     现在我们讲最基本的运行。我们在bobofile项下新建一个子项"shell",再在“shell”子项下新建“RUN”子项,再在run子项下新建一个子项“command”,将它的值设为程序的路径,比如“C:\PROGRAM FILES\BOBO\BOBORUN.EXE "%1"”,好了。现在我们的一个关联就完成了!我们现在双击一个.bob文件,boborun就会自动打开这个.bob文件了。是不是很简单呢? 当然如果我们想要实现更多的功能。比如用记事本来编辑.bob文档,怎么办呢?很简单。我们只要在shell子项下添加需要的功能就可以了。例如我们添加一个功能:记事本编辑。我们在shell子项下添加一个edit子项,再在这个子项下添加command子项,将它的默认值改为“notepad.exe "%1"”就可以了。如果要点击右键可以看见更详细的说明,就将edit子项的默认值改为“用记事本编辑”。好了。现在我们来试一试,在.bob文件上点右键,是不是多了一个“用记事本编辑”的选项呢?同理,我们要实现更多的功能,就在shell子项下添加更多的子项就可以了哦~是不是很有趣呢?那么就赶快试一下吧!
      

  2.   

    与文件类型有关的是在HKEY_CLASSES_ROOT下,会写很多数据,你可以用注册表监视工具(例如regmon)来监视。