Denne kode her kan finde versions nummeret for dig. Du må ikke spørge til koden, men den virker. Den findes også i en version hvor man kan finde ud af programmets copyrigth, firma, filnavn mm.
procedure VersionInfo(Sti:String);
var
VInfoSize, DetSize: DWord;
pVInfo, pDetail: Pointer;
begin
Memo1.Lines.Clear;
VInfoSize := GetFileVersionInfoSize (PChar (Sti), DetSize);
if VInfoSize > 0 then
begin
GetMem (pVInfo, VInfoSize);
try
GetFileVersionInfo (PChar (Sti), 0,VInfoSize, pVInfo);
// show the fixed information
VerQueryValue (pVInfo, '\\', pDetail, DetSize);
with TVSFixedFileInfo (pDetail^) do
begin
Memo1.Lines.Add ('Major version number: '+IntToStr (HiWord (dwFileVersionMS)));
Memo1.Lines.Add ('Minor version number: '+IntToStr (LoWord (dwFileVersionMS)));
Memo1.Lines.Add ('Release version number: '+IntToStr (HiWord (dwFileVersionLS)));
Memo1.Lines.Add ('Build version number: '+IntToStr (LoWord (dwFileVersionLS)));
MemoVersion.Lines.Add (IntToStr (HiWord (dwFileVersionMS)));
MemoVersion.Lines.Add (IntToStr (LoWord (dwFileVersionMS)));
MemoVersion.Lines.Add (IntToStr (HiWord (dwFileVersionLS)));
MemoVersion.Lines.Add (IntToStr (LoWord (dwFileVersionLS)));
Memo1.Lines.Add ('File version: '+IntToStr(HiWord (dwFileVersionMS))+'.'+IntToStr (LoWord (dwFileVersionMS))+'.'+IntToStr (HiWord (dwFileVersionLS))+'.'+IntToStr (LoWord (dwFileVersionLS)));
end;
finally
FreeMem (pVInfo);
end;
end;
end;
du skal bare skrive
VersionInfo(sti til exe.filen);
også skriver den resultatet ud i en memo, men det kan du selvændre på.
Håber den kan bruges !!!
T dér
[Redigeret d. 18/12-03 19:02:58 af Tarrild]