Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизВерсия exe шника Найти похожие ветки
← →
DEM_s (2005-03-15 14:30) [0]Как взять версию exe"шника?
← →
Slym © (2005-03-15 14:33) [1]
function GetFileVersion(const FileName:string):string;
var
VerSize,Zero:LongWord;
VerPtr,pData: Pointer;
DataSize: LongWord;
begin
result:="";
Zero:=0;
VerSize:=GetFileVersionInfoSize(PChar(FileName),Zero);
if VerSize=0 then Exit;
GetMem(VerPtr, verSize);
try
if GetFileVersionInfo(Pchar(FileName),0,VerSize,VerPtr) then
if VerQueryValue(verPtr,"\\StringFileInfo\\041904E3\\FileVersion",pData,DataSize) then
SetString(result,PChar(pData),DataSize);
finally
FreeMem(verPtr);
end;
end;
← →
DEM_s (2005-03-15 14:34) [2]Спасибо
← →
REA (2005-03-15 15:03) [3]Или так:
Procedure SetVersion;
Var
Size: DWORD;
Ver, sFlags: String;
Nomean: DWORD;
Len: UInt;
pFF: PVSFixedFileInfo;
Begin
If Version = "" Then
Try
Size := GetFileVersionInfoSize(PChar(Application.EXEName), NoMean);
SetLength(Ver, Size);
GetFileVersionInfo(PChar(Application.EXEName), 0, Size, @Ver[1]);
VerQueryValue(@Ver[1],"\"#0, Pointer(pFF), Len);
With pFF^ Do
Version:= IntToStr(dwFileVersionMS Shr 16) +"."+
IntToStr(dwFileVersionMS And $FFFF)+"."+
IntToStr(dwFileVersionLS Shr 16)+" build "+
IntToStr(dwFileVersionLS And $FFFF);
If ((pFF^).dwFileFlags And VS_FF_PRERELEASE)<>0 Then sFlags := "Beta";
If ((pFF^).dwFileFlags And VS_FF_DEBUG)<>0 Then
Begin
If sFlags<>"" Then sFlags := sFlags + ", ";
sFlags := sFlags + "Debug";
End;
If ((pFF^).dwFileFlags And VS_FF_SPECIALBUILD)<>0 Then
Begin
If sFlags<>"" Then sFlags := sFlags + ", ";
sFlags := sFlags + " Special build";
End;
If sFlags<>"" Then Version := Version + " ["+sFlags+"]";
Except End;
End;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c