Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

как узнать имя компании создавшей фаил   Найти похожие ветки 

 
ctranik   (2005-08-26 22:04) [0]

Всем привет

Подскажите пожалуйсто как Windows получает из любого файла
информацию типа "ИМЯ КОМПАНИИ"( при условие что фаил содержит такого рода информацию)
И всё это я так понимаю происходит при помощи API- функции.
Но вот каких ???


 
kami ©   (2005-08-26 22:29) [1]

GetFileVersionInfo - see MSDN
+ посмотреть исходники tvfileinfo с http://www.torry.net


 
Турист   (2005-08-26 22:37) [2]

>ctranik   (26.08.05 22:04)  



function VerTranslation(VerInfo : Pointer): string;
var
 P : Pointer;
 L : DWord;
begin
 if VerQueryValue(VerInfo, "\VarFileInfo\Translation", P, L) then
   Result := IntToHex(MakeLong(HiWord(Longint(P^)), LoWord(Longint(P^))), 8)
 else
   Result := "040904E4"
end;

function VerValue(VerInfo : Pointer; const Name: string): string;
var
 Value : Pointer;
 Len   : DWord;
begin
 if VerQueryValue(VerInfo, PChar("\StringFileInfo\" +
                  VerTranslation(VerInfo) + "\" + Name), Value, Len) then
   Result := StrPas(Value)
 else
   Result := "";
end;

function ProductVersionParam(const aFileName, aParamName : string) : string;
var
 Handle : THandle;
 dwSize : DWord;
 Buffer : Pointer;
begin
 Result := "";
 dwSize := GetFileVersionInfoSize(PChar(aFileName), Handle);
 if dwSize > 0 then begin
   Buffer := AllocMem(dwSize);
   if Buffer <> NIL then try
     if GetFileVersionInfo(PChar(aFileName), Handle, dwSize, Buffer) then
       Result := VerValue(Buffer, aParamName)
   finally
     FreeMem(Buffer)
   end
 end
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 ShowMessage(ProductVersionParam(ParamStr(0), "CompanyName"))
end;



 
ctranik   (2005-08-27 18:02) [3]


> Турист  

Благодарствую,хотя пока не очень вник в код.

если вдруг до чего-то недодукаюсь , будет возможность обратится за  разьяснениями ???


 
Турист   (2005-08-27 18:05) [4]

>ctranik   (27.08.05 18:02) [3]

Всегда пожалуйста.
Предоставлю любые ответы на любые вопросы.


 
psa247 ©   (2005-08-27 18:39) [5]

А на кой оно тебе?
Жми CTRL + SHIFT + F12 -> припиши своей будущей проге -
company name: MICROSOFT+


 
Турист   (2005-08-28 18:28) [6]

от Турист   (26.08.05 22:37) [2]

>Турист   (27.08.05 18:05) [4]
Не делай так - совесть замучит


 
Турист   (2005-08-28 18:35) [7]

Не делай так - совесть замучит

В зеркало смотреть.
До самого, такска-ать, просветления.


 
Турист   (2005-08-28 19:03) [8]

от Турист   (28.08.05 18:28) [6]
>Турист   (28.08.05 18:35) [7]
Твой выбор



Страницы: 1 вся ветка

Текущий архив: 2005.10.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
2-1128807411
ArtemESC
2005-10-09 01:36
2005.10.30
Буфер обмена


2-1128857774
ArtemESC
2005-10-09 15:36
2005.10.30
64 битовое число


3-1127359637
V-A-V
2005-09-22 07:27
2005.10.30
Пароль на MDB


1-1128591758
Dimich1978
2005-10-06 13:42
2005.10.30
Управлять чужой менюшкой лежащей в трее


5-1107336978
khas
2005-02-02 12:36
2005.10.30
Добавление "детей" в DesignTime в свой компонент