Изменить ресурс для типа таблицы String в Win32 родной EXE

Я хочу изменить строку в моем 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);

1 ответ

EXE-файл не может обновлять свои собственные ресурсы во время работы. Ресурсы заблокированы ОС и доступны только для чтения. Но если вы можете обновить ресурсы, то, очевидно, вам нужно знать идентификатор вашего ресурса, чтобы обновить его. Если это ресурс, сгенерированный компилятором, то вам, вероятно, не повезет, если ваш компилятор не использует предсказуемый идентификационный номер, например 1. В противном случае используйте файл.rc для определения собственных данных ресурса, тогда вы можете использовать любой идентификатор, какой захотите.,

Другие вопросы по тегам