информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsАтака на InternetПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Notepad++ полгода раздавал зараженные... 
 Китайский прорыв из ESXi 
 С наступающим 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Модификация ресурса UpdateResource 21.02.04 12:23  
Автор: Disappear Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как изменить ресурс версии у EXE файла?

Я делаю так:

DWORD dwSize = GetFileVersionInfoSize(lpszFileName,&dwHandle);
BYTE *lpRes = new BYTE [dwSize];
if (!lpRes) return E_FAIL;
if (GetFileVersionInfo(lpszFileName, dwHandle, dwSize, lpRes) == FALSE)
return E_FAIL;
// ....
if (VerQueryValue(lpRes, "\\StringFileInfo\\040904b0\\ProductVersion", reinterpret_cast<void**>(&lpszProductVersion), &uBlockSize) == FALSE)
return E_FAIL;
//
// меняю lpszProductVersion
//
HANDLE hUpdRes = BeginUpdateResource(lpszFileName, FALSE);
if (hUpdRes == NULL) return E_FAIL;
BOOL bRes = UpdateResource(hUpdRes, RT_VERSION, MAKEINTRESOURCE(VS_VERSION_INFO), MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), lpRes, dwSize);
if (EndUpdateResource(hUpdRes, FALSE) == FALSE|!bRes)
return E_FAIL;


Вроде бы все выполняется нормально, но сам EXE файл не изменяется.
А если, скажем, сделать так



VS_FIXEDFILEINFO *pFixedInfo;
UINT uBlockSize = 0;
if (VerQueryValue(lpRes, _T("\\"), reinterpret_cast<void**>(&pFixedInfo), &uBlockSize) == FALSE)
return E_FAIL;
//
// меняю содержимое полей структуры pFixedInfo
//


тогда версия в EXE файле изменится, но мне нужно изменить строковый параметр ProductVersion
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach