各位大侠,怎样用Delphi取得当前程序的编译版本号?

解决方案 »

  1.   

    BOOL GetFileVersionInfo(    LPTSTR lptstrFilename, // pointer to filename string
        DWORD dwHandle, // ignored 
        DWORD dwLen, // size of buffer
        LPVOID lpData  // pointer to buffer to receive file-version info.
       );用上面的函数试试看
      

  2.   

    var
      V1,V2,V3,V4: Word;
      VerInfoSize: DWORD;
      VerInfo: Pointer;
      VerValueSize: DWORD;
      VerValue: PVSFixedFileInfo;
      Dummy: DWORD;
    begin
      VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
      GetMem(VerInfo, VerInfoSize);
      GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
      VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
      with VerValue^ do
      begin
        V1 := dwFileVersionMS shr 16;
        V2 := dwFileVersionMS and $FFFF;
        V3 := dwFileVersionLS shr 16;
        V4 := dwFileVersionLS and $FFFF;
      end;
      FreeMem(VerInfo, VerInfoSize);
      Version.Caption:=Format('(Build %d%d%d%d)',[v1,v2,v3,v4]);
    end;