rt

解决方案 »

  1.   

    研究一下PE格式吧,exe文件头是有一个信息标识文件长度的
      

  2.   

    不敢肯定exe文件就有保存文件长度吧?
    ms: TFileStream;ms := TFileStream.create(FileName, fmOpenRead);
    ms.size; //就是该文件的长度.
      

  3.   

    var
      sr:TSearchRec;begin
      exefilename:='';你的文件名全名,包含路径
    if findFirst(exefileName,faArchive,sD)=0 then
    begin
      sr.size;就是文件长度
    end;
      

  4.   

    GetFileSize(你的文件名全名,包含路径)
      

  5.   

    我的exe后面还带了别的东西,所以只能从文件头信息里取了看来的研究PEfyje(云中仙)的方法我试试看
      

  6.   

    DOS 的  EXE 文件的大小好象在 14h-16h。WIN 下的不知是不是。您可以找一个能查看EXE十六进制的工具来看一下,将EXE 文件的大小转换为HEX,然后在EXE 文件头中查找相应的数值,位置找到了,就可以在程序中使用。
      

  7.   

    文件头取得该文件的长度不会,不过用file of byte方式应该可以实现:var
      fp_temp : file of byte;
    begin
      AssignFile(fp_temp, 'c:\test.exe');
      Reset(fp_temp);
      showmessage( '大小:' + inttostr(FileSize(fp_temp))+'bytes');
    end;