首先你必须注册文件类型,其次你必须处理程序的命令行!
注册文件类型,可以在程序中用Tregistry类进行操作举个例子如下(假设你的自己的文件类型为LYH):
uses registry;procedure RegistryFileType(const ext,desc:string);
var
reg:tregistry;
begin
reg:=tregistry.create;
reg.rootkey:=hkey_classes_root;
if reg.openkey(ext,true) then
begin
reg.writestring('','LyhFile');
reg.closekey;
if reg.openkey('lyhfile',true) then
reg.writestring('',desc);
reg.closekey;
if reg.openkey('lyhfile\defaulticon',true) then
reg.writestring('',paramstr(0)+',0');
reg.closekey;
if reg.openkey('lyhfile\shell\open\command',true) then
reg.writestring('',paramstr(0));
end;
end; 然后你的程序必须使用paramstr()和paramcount来接受参数.具体的做法只有看书了。不好说了。
注册文件类型,可以在程序中用Tregistry类进行操作举个例子如下(假设你的自己的文件类型为LYH):
uses registry;procedure RegistryFileType(const ext,desc:string);
var
reg:tregistry;
begin
reg:=tregistry.create;
reg.rootkey:=hkey_classes_root;
if reg.openkey(ext,true) then
begin
reg.writestring('','LyhFile');
reg.closekey;
if reg.openkey('lyhfile',true) then
reg.writestring('',desc);
reg.closekey;
if reg.openkey('lyhfile\defaulticon',true) then
reg.writestring('',paramstr(0)+',0');
reg.closekey;
if reg.openkey('lyhfile\shell\open\command',true) then
reg.writestring('',paramstr(0));
end;
end; 然后你的程序必须使用paramstr()和paramcount来接受参数.具体的做法只有看书了。不好说了。
or write a program to set it automatically
such as VB, C, JAVA, installshield script etc