我的程序想像word一样关联打开*.doc。不知应该怎么做。
另外我要调用uedit32去打开wed.txt应该怎么做

解决方案 »

  1.   

    文件关联    
      procedure registerfiletype(ft,key,desc,icon,prg:string); 
    //ft:文件名后缀,如可以为'.tst'或'afile.tst'//key:在注册表中的键值,要唯一//desc:关联程序的描述//icon:缺省的程序图标,如Application.ExeName+',1',可以缺省//prg:对应的应用程序var myreg : treginifile;ct : integer;begin// 取文件的后缀ct := pos('.',ft);while ct > 0 do begindelete(ft,ct,1);ct := pos('.',ft);end;if (ft = '') or (prg = '') then exit; //判断后缀及应用程序是否有效ft := '.'+ft;myreg := treginifile.create('');trymyreg.rootkey := hkey_classes_root; // 根应该为HKEY_CLASSES_ROOTif key = '' then key := copy(ft,2,maxint)+'_auto_file';// 如果没给出键值,则自动创建一个myreg.writestring(ft,'',key); // 写入描述的键值myreg.writestring(key,'',desc); // 写入描述if icon <> '' thenmyreg.writestring(key+'','',icon);// 写入缺省图标myreg.writestring(key+'','',prg+' "%1"');//写入相关联的应用程序finallymyreg.free;end;end;调用例子:Example:registerFileType('.tst','testfile','测试关联文件',Application.ExeName+',1',Application.ExeName);原理说明:程序关联的键值放在注册表根为HKEY_CLASSES_ROOT下面。实现文件关联要写入两个键值:后缀键值和描述键值(可用术语用的不对)如实现将.tst与程序tstfile.exe相关联其中后缀键值形为: .tst myprogramkey值为文件后缀,取值为对于key的一个描述描述键值形为: myprogram 文件描述其中还有相应的子键,如缺省的程序图标,形为:myprogram '', 'tstfile.exe,1'打开命令,形为:myprogram'', 'tstfile.exe "%1"'写入完这两个键值后就可以实现文件与应用程序相关联了。  
     
       
      

  2.   

    文件关联    
      procedure registerfiletype(ft,key,desc,icon,prg:string); 
    //ft:文件名后缀,如可以为'.tst'或'afile.tst'//key:在注册表中的键值,要唯一//desc:关联程序的描述//icon:缺省的程序图标,如Application.ExeName+',1',可以缺省//prg:对应的应用程序var myreg : treginifile;ct : integer;begin// 取文件的后缀ct := pos('.',ft);while ct > 0 do begindelete(ft,ct,1);ct := pos('.',ft);end;if (ft = '') or (prg = '') then exit; //判断后缀及应用程序是否有效ft := '.'+ft;myreg := treginifile.create('');trymyreg.rootkey := hkey_classes_root; // 根应该为HKEY_CLASSES_ROOTif key = '' then key := copy(ft,2,maxint)+'_auto_file';// 如果没给出键值,则自动创建一个myreg.writestring(ft,'',key); // 写入描述的键值myreg.writestring(key,'',desc); // 写入描述if icon <> '' thenmyreg.writestring(key+'','',icon);// 写入缺省图标myreg.writestring(key+'','',prg+' "%1"');//写入相关联的应用程序finallymyreg.free;end;end;调用例子:Example:registerFileType('.tst','testfile','测试关联文件',Application.ExeName+',1',Application.ExeName);原理说明:程序关联的键值放在注册表根为HKEY_CLASSES_ROOT下面。实现文件关联要写入两个键值:后缀键值和描述键值(可用术语用的不对)如实现将.tst与程序tstfile.exe相关联其中后缀键值形为: .tst myprogramkey值为文件后缀,取值为对于key的一个描述描述键值形为: myprogram 文件描述其中还有相应的子键,如缺省的程序图标,形为:myprogram '', 'tstfile.exe,1'打开命令,形为:myprogram'', 'tstfile.exe "%1"'写入完这两个键值后就可以实现文件与应用程序相关联了。  
     
       
      

  3.   

    thanks,但我要知道的是我的程序应该如何打开关联的文件
      

  4.   


    1.文件关联,上面已经说得很清楚了。不过代码不够规范。2.用这样的命令行yourproject.exe youropenfile
      不过你需要把这个参数读进来。