![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с версией файла!!! [D6, Win95/98, WinME, NT4, Win2k, WinXP]
LazorenkoX © (2002-12-11 00:32:00)Как мене узнать версию файла и другую инфу, и поместить её в структуру:
struct TFileInfo
{
String FMajorVersion, FMinorVersion, FRelease, FBuild,
PMajorVersion, PMinorVersion, PRelease, PBuild,
Flags, System, Type, SubType;
};
Нижеследующий код не выдаёт ошибок, но и не показывает информацию!!! Что делать?
Понимаю, что это не совсем обджект паскаль, но близкий к нему билдер :)
Viktor Kushnir (2002-12-11 08:23:00) [1]Версию файла я узнавал так (NameApp - путь к файлу):
Может это натолкнет тебя на мысли.
function CurrentFileInfo(NameApp : string) : string;
var dump: DWORD;
size: integer;
buffer: PChar;
VersionPointer, TransBuffer: PChar;
Temp: integer;
CalcLangCharSet: string;
begin
size := GetFileVersionInfoSize(PChar(NameApp), dump);
buffer := StrAlloc(size+1);
try
GetFileVersionInfo(PChar(NameApp), 0, size, buffer);
VerQueryValue(buffer, "\VarFileInfo\Translation", pointer(TransBuffer),dump);
if dump >= 4 then
begin
temp:=0;
StrLCopy(@temp, TransBuffer, 2);
CalcLangCharSet:=IntToHex(temp, 4);
StrLCopy(@temp, TransBuffer+2, 2);
CalcLangCharSet := CalcLangCharSet+IntToHex(temp, 4);
end;
Rouse_ (2002-12-11 00:43:00) [2]У тю - тю, не стал разбираться в коде, тем более вечер перед праздником, кратко опиши проблему, но не
> Как мене узнать версию файла и другую инфу,
Код или подсказка нужна?
Желаю успехов
LazorenkoX (2002-12-11 00:33:00) [3]Заранее благодарен.
LazorenkoX (2002-12-11 00:32:00) [4]TFileInfo FillFileInfo(AnsiString FileName)
{
TFileInfo FileInfo;
long lBufferLen;
DWORD *lVerPointer;
UINT lVerbufferLen;
VS_FIXEDFILEINFO udtVerBuffer;
char *FullFileName;
FullFileName=FileName.c_str();
/*** Get size ****/
lBufferLen = GetFileVersionInfoSize(FullFileName, 0);
if(lBufferLen