我想在我的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);
答案 0 :(得分:1)
exe文件在运行时无法更新自己的资源。资源由操作系统锁定,并且是只读的。但是,如果您可以更新资源,那么显然您必须知道资源的ID才能更新它。如果它是编译器生成的资源,那么除非您的编译器使用可预测的ID号,否则您可能会运气不好。否则,使用.rc文件来定义您自己的资源数据,然后您可以使用您想要的任何ID