Einzelnen Beitrag anzeigen

raffo

Registriert seit: 15. Aug 2005
79 Beiträge
 
#4

Re: Versionsnummern seiner Anwendung unter Vista ermitteln?

  Alt 28. Jan 2007, 19:02
ähm, ich verwende eine ganz andere Version der GetFileVersion (schon seit mind. 2 Jahren). Nun hab ich auch VISTA und es funzt immer noch:

Delphi-Quellcode:
function GetFileVersion:String;

var Filename: string;
    Size, Size2: integer;
    Buffer, Buffer2: pointer;
begin
  Result:= '?';
  Filename:= Application.ExeName;
  Size := GetFileVersionInfoSize(pchar(Filename), integer(Buffer));
  GetMem(Buffer,Size);
  try
    if GetFileVersionInfo(pchar(Filename), 0, Size, Buffer) then begin
      if VerQueryValue(Buffer, '\', Buffer2, Size2) then begin
        with TVSFixedFileInfo(Buffer2^) do begin
          Result := inttostr(pword(integer(@dwFileVersionMS)+2)^)+'.'+
                    inttostr(pword(integer(@dwFileVersionMS)+0)^)+''+
                    inttostr(pword(integer(@dwFileVersionLS)+2)^)+' -'+
                    inttostr(pword(integer(@dwFileVersionLS)+0)^);
        end;
      end;
    end;
  finally
    Dispose(Buffer);
  end;
end;
(Achtung, andere Parameterübergabe) Was mir auffällt an DEINER Version, das ein DUMMY verwendet wird, HIER nicht!

// EDIT: Ich korrigiere mich gerade, die Funktion scheint tatsächlich nicht mehr zu funzen, habe dummerweise nach meinem LABEL der Versionsnummer geschaut *gmpf*
Ralf Ringshausen
  Mit Zitat antworten Zitat