在txtfile中关联自己的程序,之后运行txt文件,用getcommandline获取txt的命令行路径,
例:
 C:\DOCUME~1\nnn\桌面\新建文~1.TXT
 G:\TXTTXT~1\VISTAX~1.TXT    请问如果获全该路径!

解决方案 »

  1.   

    ExtractFilePath(Application.ExeName)获取程序的路径
    ExtractFileName(Application.ExeName)获取程序的文件名
      

  2.   

    1楼,理解错了,我要的是获取关联文件的全路径,比如,我把我的程序与txtfile关联,运行"桌面上的a.txt",程序就会获取a.txt的全路径。
      

  3.   

    在你的窗体上增加控件OpenPictureDialog1,增加一个按钮bitbtn1,
    procedure Tfrom.bitbtn1click (Sender: TObject);
    var filename:string;
    begin
       
       IF OpenPictureDialog1.Execute THEN
        OpenPictureDialog1.FileName;
        filename:=OpenPictureDialog1.FileName;
    end;试一下
      

  4.   

    您还是没有明白我的意思,我是要自动返回txtfile程序所关联要打开的文件路径及文件名,不是通过控件,
    你自己可以试一下,
    在注册表中把txtfile 关联到你编写的程序,
    再运行“桌面上的abca.txt',这是会运行你编写的程序,但如果知道你打开的“桌面上的abca.txt"的全路径。
    我用getcommandline获取了命令行的路径。C:\DOCUME~1\nnn\桌面\abc~1.TXT  你会看到路径不全。如果获到:C:\Documents and Settings\nnn\桌面\abca.txt 完整的路径
      

  5.   

    发现用getcommandline前面多了一个空格,没在意,导致没成功,去掉空格就可以了。
      

  6.   

    用API,把短路径转换成长路径,好象是叫:GetLongPathNameA