http://community.csdn.net/Expert/topic/4544/4544510.xml?temp=.2871363
见此贴,当文件名是长文件名时,上面的贴子里面读出来的是带~的文件名,高手帮忙!深表感谢。

解决方案 »

  1.   

    一个例子。program test;{$APPTYPE CONSOLE}uses
      SysUtils, Windows;function GetShortPath(s: string): string;
    var
      Buf: array[0..127] of char;
    begin
      Fillchar(buf, sizeof(buf), 0);
      getshortpathname(PChar(s), @Buf, sizeof(Buf));
      result:=buf;
    end;function GetFullPath(s: string): string;
    var
      Buf: array[0..127] of char;
      P: PChar;
    begin
      Fillchar(buf, sizeof(buf), 0);
      getfullpathname(pchar(s), sizeof(buf), @buf, P);
      result:=Buf;
    end;begin
      writeln(GetShortPath(ParamStr(0)));
      writeln(GetFullPath(ExtractFileName(GetShortPath(ParamStr(0)))));
      ReadLn;
    end.
      

  2.   

    請訪問我的blog,以前寫的,
    http://blog.csdn.net/sailxia/archive/2004/10/25/151386.aspx
      

  3.   

    还有就是可以代开lnk文件然后直接从里面读,地址好像是从137开始的,自己用软件看看应该可以看到
      

  4.   

    sailxia(小帆) 的函数是我想要的,谢谢大家的热心帮忙!