Dateiversion ermitteln |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Die folgende Funktion gibt die Version einer Datei als String zurück. Als Parameter muss der Pfad+Dateiname der Datei übergeben werden:
function GetFileVersion(Path: string): string;
var
lpVerInfo: pointer;
rVerValue: PVSFixedFileInfo;
dwInfoSize: cardinal;
dwValueSize: cardinal;
dwDummy: cardinal;
lpstrPath: pchar;
begin
if Trim(Path) = EmptyStr then
lpstrPath := pchar(ParamStr(0))
else
lpstrPath := pchar(Path);
dwInfoSize := GetFileVersionInfoSize(lpstrPath, dwDummy);
if dwInfoSize = 0 then
begin
Result := 'No version specification';
Exit;
end;
GetMem(lpVerInfo, dwInfoSize);
GetFileVersionInfo(lpstrPath, 0, dwInfoSize, lpVerInfo);
VerQueryValue(lpVerInfo, '\', pointer(rVerValue), dwValueSize);
with rVerValue^ do
begin
Result := IntTostr(dwFileVersionMS shr 16);
Result := Result + '.' + IntTostr(dwFileVersionMS and $FFFF);
Result := Result + '.' + IntTostr(dwFileVersionLS shr 16);
Result := Result + '.' + IntTostr(dwFileVersionLS and $FFFF);
end;
FreeMem(lpVerInfo, dwInfoSize);
end; {function GetFileVersion() ...}
var
lpVerInfo: pointer;
rVerValue: PVSFixedFileInfo;
dwInfoSize: cardinal;
dwValueSize: cardinal;
dwDummy: cardinal;
lpstrPath: pchar;
begin
if Trim(Path) = EmptyStr then
lpstrPath := pchar(ParamStr(0))
else
lpstrPath := pchar(Path);
dwInfoSize := GetFileVersionInfoSize(lpstrPath, dwDummy);
if dwInfoSize = 0 then
begin
Result := 'No version specification';
Exit;
end;
GetMem(lpVerInfo, dwInfoSize);
GetFileVersionInfo(lpstrPath, 0, dwInfoSize, lpVerInfo);
VerQueryValue(lpVerInfo, '\', pointer(rVerValue), dwValueSize);
with rVerValue^ do
begin
Result := IntTostr(dwFileVersionMS shr 16);
Result := Result + '.' + IntTostr(dwFileVersionMS and $FFFF);
Result := Result + '.' + IntTostr(dwFileVersionLS shr 16);
Result := Result + '.' + IntTostr(dwFileVersionLS and $FFFF);
end;
FreeMem(lpVerInfo, dwInfoSize);
end; {function GetFileVersion() ...}
Aufgerufen werden kann die Funktion beispielsweise so:
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := GetFileVersion('C:\Datei.exe');
end;
begin
Caption := GetFileVersion('C:\Datei.exe');
end;
Ähnliche Seiten:
- Datei mit zugeordneter Anwendung öffnen
- Programm ohne sichtbares Fenster starten
- Größe einer Datei ermitteln
- Feststellen, ob eine Datei existiert
- Erstellungsdatum von Dateien ermitteln
- Letzten Dateizugriff ermitteln
- Ist eine Datei in Benutzung
- Datei nach einem bestimmten String durchsuchen
- Anwendung ermitteln, die mit einer Dateiendung verknüpft ist
- Dateidatum ändern