Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Version zur Laufzeit abfragen.

  Alt 11. Mai 2005, 17:40
Hallo,

diesen Code hab ich mal irgendwo gefunden (kann sein dass es auch diese CodeLib war)

Delphi-Quellcode:
type
   TIntArray = array of Integer;

function GetProgramVersion(sFileName: String; var Version: TIntArray): Boolean;
//This function retrieves the version number included in an exe file specified
//with sFileName
var
   VerInfoSize: DWORD;
   VerInfo: Pointer;
   VerValueSize: DWORD;
   VerValue: PVSFixedFileInfo;
   Dummy: DWORD;
begin
   Result := True;
   if (not FileExists(sFileName)) or (LowerCase(ExtractFileExt(sFileName)) <> '.exe') then
      exit;
   try
      VerInfoSize := GetFileVersionInfoSize(PChar(sFileName), Dummy);
      GetMem(VerInfo, VerInfoSize);
      GetFileVersionInfo(PChar(sFileName), 0, VerInfoSize, VerInfo);
      VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
      SetLength(Version, 4);
      with VerValue^ do
      begin
         Version[0] := dwFileVersionMS shr 16;
         Version[1] := dwFileVersionMS and $FFFF;
         Version[2] := dwFileVersionLS shr 16;
         Version[3] := dwFileVersionLS and $FFFF;
      end; //with VerValue^ do
      FreeMem(VerInfo, VerInfoSize);
   except
      Result := False;
   end; //try-except-end;
end; //function GetProgramVersion(sFileName: String; var Version: TIntArray): Boolean;
Du kannst den Code ja noch fuer eigene Verwendung umschreiben. Die Version steht dann im Integer-Array welches uebergeben wurde.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat