// KeyName = "Comment" || "ProductName" || "InternalName" ||"OriginalFilename" || "CompanyName" || "FileVersion" || ...
AnsiString __fastcall TfrmMain::VersionInfoString(const AnsiString &FileName, const AnsiString &KeyName)
{
AnsiString Info("UNKNOWN");
char
* buff(0),
* info(0);
DWORD
null,
size(GetFileVersionInfoSize(FileName.c_str(), &null));
if (size)
{
buff = new char [ size ];
if (GetFileVersionInfo(FileName.c_str(), 0, size, buff))
{
unsigned int len;
unsigned short * lang;
if (VerQueryValue(buff, "\\VarFileInfo\\Translation",
(void **)&lang, &len))
VerQueryValue(buff, (AnsiString("\\StringFileInfo\\") +
IntToHex(lang[0], 4) + IntToHex(lang[1], 4) + "\\" +
KeyName).c_str(), (void **)&info, &len);
Info = info;
}
}
delete [] buff;
return Info;
}
как узнать название проги и достать иконку?
прошу прощения если я обратился не в тот форум, но мне хотелось бы узнать как программно у приложений (например у bcb.exe) узнать полное название (Borland Developer Studio 2006), и его иконку для использования в своей программе. Подобным способом реализовано в Punto Switcher->Параметры. Хотелось бы реализовать на си пляс пляс билдере.
Это про полное название
Премного благадарен это то, что нужно.