Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Megabizon

Старожил


Сообщения: 244
Благодарности: 1

Профиль | Отправить PM | Цитировать


Снимается, нашел решение, ну если кому надо, то вот:
Код: Выделить весь код
void __fastcall *TForm1::FormCreate(TObject *Sender)
{ 
DWORD h;
DWORD Size=GetFileVersionInfoSize(Application->ExeName.c_str(), &h);
if (Size==0)
return ;
char **buf;
buf=(char *)GlobalAlloc(GMEM_FIXED, Size);
if (GetFileVersionInfo(Application->ExeName.c_str(),h,Size,buf)!=0)
{
char **ValueBuf;
UINT Len;
VerQueryValue(buf, "\\VarFileInfo\\Translation", &(void *)ValueBuf,&Len);
if (Len>=4)
{
AnsiString CharSet=IntToHex((int )MAKELONG(*(int *)(ValueBuf+2),*(int *)ValueBuf), 8);
if(VerQueryValue(buf,AnsiString("\\StringFileInfo\\"+CharSet+"\\ProductName").c_str(),&(void
*)ValueBuf,&Len)!=0)
AppName->Caption=ValueBuf;
if(VerQueryValue(buf,AnsiString("\\StringFileInfo\\"+CharSet+"\\FileVersion").c_str(),&(void
*)ValueBuf,&Len)!=0)
Version->Caption=ValueBuf;
if(VerQueryValue(buf,AnsiString("\\StringFileInfo\\"+CharSet+"\\LegalCopyright").c_str(),&(void
*)ValueBuf,&Len)!=0)
Copyright->Caption=ValueBuf;
if(VerQueryValue(buf,AnsiString("\\StringFileInfo\\"+CharSet+"\\CompanyName").c_str(),&(void
*)ValueBuf,&Len)!=0)
Company->Caption=ValueBuf;
}
}
GlobalFree(buf);
}

AppName->Caption;Version->Caption;Copyright->Caption;Company->Caption - это
объекты, на которые выводят данные о версии.
*


[s]Исправлено: Megabizon, 9:09 24-03-2003[/s]


[s]Исправлено: Megabizon, 10:22 24-03-2003[/s]

-------
С уважением


Отправлено: 09:08, 24-03-2003 | #2