1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| // É necessário estar declarado Windows na seção uses.
// Em versões recentes do Delphi, declare Winapi.Windows.
function GetBuildInfo(Prog: string): string;
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
V1, V2, V3, V4: Word;
begin
try
VerInfoSize := GetFileVersionInfoSize(PChar(Prog), Dummy);
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(prog), 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);
Result := Format('%d.%d.%d.%d', [v1, v2, v3, v4]);
except
Result := '1.0.0';
end;
end; |
A function deverá receber o “Application.ExeName”;