Главная страница
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.03 c
2-1128937322
Rule
2005-10-10 13:42
2005.10.30
загадочная библиотека qtintf70.dll, зачем она нужна ...


1-1128421658
Phoenix9000
2005-10-04 14:27
2005.10.30
Удаление файлов. Копирование файлов


4-1124968435
vvvaaa
2005-08-25 15:13
2005.10.30
Перетаскивание формы


1-1128521993
Aleksey
2005-10-05 18:19
2005.10.30
Image.Canvas и LineTo


6-1121165312
DVYdm
2005-07-12 14:48
2005.10.30
Формирование TCP/IP пакета