【问题标题】:Modify resource for String table type in win32 native exe修改win32本机exe中字符串表类型的资源
【发布时间】:2012-12-03 09:14:43
【问题描述】:

我想修改我的exe 资源中的一些字符串。该资源类型是一个字符串表, 但是当我使用UpdateResource 函数时,我不知道必须将什么参数传递给它,所以它指向字符串表中的确切原始数据。

类型参数是RT_STRING,但是我应该发送什么给MAKEINTRESOURCEW()

HANDLE hExeFile = BeginUpdateResource(L"d:\\m.exe", FALSE);
WCHAR mail[]={L"ddddddd@gmail.com"};
UpdateResource(hExeFile,RT_STRING,MAKEINTRESOURCEW(?????), MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (LPVOID)mail, wcslen(mail)*2);
EndUpdateResource(hExeFile, FALSE);

【问题讨论】:

标签: winapi resources exe string-table


【解决方案1】:

exe 文件在运行时无法更新自己的资源。资源被操作系统锁定并且是只读的。但是,如果您可以更新资源,那么显然您必须知道资源的 ID 才能更新它。如果它是编译器生成的资源,那么除非您的编译器使用可预测的 ID 号,例如 1,否则您可能不走运。否则,使用 .rc 文件定义您自己的资源数据,然后您可以使用任何您想要的 ID .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多