1

exeリソース内の文字列を変更したい。そのリソースタイプは文字列テーブルですが、UpdateResource関数を使用するとき、どのパラメーターを渡す必要があるかわからないため、文字列テーブル内の正確なrawを指しています。

タイプパラメータはです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);
4

1 に答える 1

1

exe ファイルは、実行中に自身のリソースを更新できません。リソースは OS によってロックされており、読み取り専用です。ただし、リソースを更新できる場合は、リソースを更新するためにリソースの ID を知っている必要があります。それがコンパイラによって生成されたリソースである場合、コンパイラが 1 のような予測可能な ID 番号を使用しない限り、おそらく運が悪いでしょう。それ以外の場合は、.rc ファイルを使用して独自のリソース データを定義します。 .

于 2012-12-03T21:23:07.477 に答える