Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как узнать имя компании создавшей фаил [D6, WinXP]


ctranik ©   (2005-08-26 22:04:00) 

Всем привет

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


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

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


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

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

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


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

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

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


psa247   (2005-08-27 18:39:00) [4]

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


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

>ctranik   (27.08.05 18:02) [3]

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


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


> Турист  

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

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


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

>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;


kami   (2005-08-26 22:29:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо