Files Delphi

function GetInfo(filename:string;infotag:DWord):string;
type
TLangInfoBuffer = array[1..4] of SmallInt;
const
InfoStr: array[1..10] of string = ('CompanyName', 'FileDescription', 'FileVersion', 'InternalName', 'LegalCopyright', 'LegalTradeMarks', 'OriginalFileName', 'ProductName', 'ProductVersion', 'Comments');
var
n, Len: DWORD;
Buf: PChar;
Value: PChar;
PLangInfo: ^TLangInfoBuffer;
strLangId: string;
begin
n := GetFileVersionInfoSize(PChar(filename), n);
if n > 0 then
begin
Buf := AllocMem(n);
GetFileVersionInfo(PChar(filename), 0, n, Buf);
VerQueryValue(Buf, '\VarFileInfo\Translation', Pointer(pLangInfo), n);
strLangId:=IntToHex(SmallInt(pLangInfo^[1]),4)+IntToHex(SmallInt(pLangInfo^[2]),4);
if VerQueryValue(Buf, PChar('StringFileInfo\'+strLangId+'\' + InfoStr[InfoTag]), Pointer(Value), Len) then Result:=Value
else result:='(yok)';
FreeMem(Buf, n);
end
else
Result:='Sürüm bilgisi yok';
end;
Burada ilk parametre olarak doyanın yolunu vermeniz gerekiyor. İkinci parametre de hangi sürüm bilgisinin okunacağı.
1: Firma adı
2: Dosya açıklaması
3: Dosya versiyonu
4: İç ad
5: Yasal koruma gibi bişey(Legal Copyright) :)
6: Tescilli isimler(mesela McDonald's ismini o firmadan başkası izinsiz kullanamaz. Veya Microsoft, Pentium(Intel'in)
7: Orjinal dosya adı
8: Ürün adı
9: Ürün versiyonu
10: Notlar/Yorumlar