----文件关联的目的是要实现某种扩展名的文件由相应的应用程序
来打开,对于编写的应用软件来说,由于一般都有设计者特定的扩
展名的数据文件,软件编制者应在程序中实现自动关联而不能由用
户手工去实现。下面给出实现文件关联的实用程序。
----实现文件关联的核心是对注册表的操作,所有的文件关联都在
HKEY-CLASSES-ROOT下面,要实现文件关联必须在HKEY-
CLASSES-ROOT中增加两个键值,一是和文件扩展名对应的类型说
明,二是对这种类型文件的操作所需要执行的应用程序。下面举例
说明,本例实现将扩展名为.xyz的文件定义为"我自己的文件"类
型,双击此种类型的文件时执行的打开功能使用记事簿程序。实现
这一功能需要用到Delphi中的函数RegCreateKey、RegSetValue。实
现如下:
----在窗体中放置一个按钮,双击按钮写如下代码:
procedureTForm1.Button1Click(Sender:TObject);
var
lphKey:HKEY;
sKeyName:string;
sKeyValue:string;
begin
sKeyName:=′myfile′;
sKeyValue:=′我的文档′;
RegCreateKey(HKEY-CLASSES-ROOT,
pchar(sKeyName),lphKey);
RegSetValue(lphKey,′′,REG-SZ,
pchar(sKeyValue),0);
sKeyName:=′.xyz′;
sKeyValue:=′myfile′;
RegCreateKey(HKEY-CLASSES-ROOT,
pchar(sKeyName),lphKey);
RegSetValue(lphKey,′′,REG-SZ,
pchar(sKeyValue),0);
sKeyName:=′myfile′;
sKeyValue:=′c:\Windows\NotePad.exe%1′;
RegCreateKey(HKEY-CLASSES-ROOT,
pchar(sKeyName),lphKey);
RegSetValue(lphKey,′shell\open\command′,REG-SZ,
pchar(sKeyValue),MAX-PATH);
end;
----建立一新文件,使其扩展名为.xyz,然后双击它看是否是启动
记事簿来打开的。