首先你必须注册文件类型,其次你必须处理程序的命令行!
注册文件类型,可以在程序中用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来接受参数.具体的做法只有看书了。不好说了。