看看怎样实现文件关联步骤一:在在注册表的HKEY_CLASSES_ROOT下创建MyApp主键:
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
语句中sKeyName已经预先赋值为"MyApp"而函数执行完后lphKey&会返回新创建的主键的句柄然后我们向句柄lphKey&所指的位置写入键值sKeyValue(已经赋值为"Logfiles")
ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
如果这时查看注册表会发现如下图所示的新主键和键值:
步骤二:在注册表的HKEY_CLASSES_ROOT下创建另外一个主键键名为“.log”键值为“MyApp”创建的方法与第一步相同只不过键名和键值不同。建立此键值的作用是把“.log”文件关联到“MyApp”主键所规定的内容这时的注册表如下:
第三步:我们为“MyApp”设置了一个命令行也就是在主键MyApp下建立如下主键:
实现的代码是:
sKeyName = "MyApp" *名为MyApp的键名
sKeyValue = "notepad.exe %1" *把键值设为"notepad.exe %1"%1指的是要打开的文件
如果该键已经创建则RegCreateKey那么函数会打开现有的项
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
下面一句的实际效果是在MyApp键下建立shell\open\command目录并写入键值sKeyValue
说明:放在一个键的shell\open\command下的是打开某一类型文件的应用
程序的名称
ret& = RegSetValue&(lphKey&, "shell\open\command", REG_SZ, sKeyValue, MAX_PATH)
经过以上几个步骤我们已经建立了“.log”文件和“记事本”程序的关联。总结前面的内容可以发现在VB中采用API对注册表操作的基本思路都是类似的只要我们知道了两个API函数的用法然后熟悉注册表操作就能灵活的写出与注册表相关的
程序来。