Как модифицировать ресурс в DLL из этой DLL? - PullRequest
1 голос
/ 21 февраля 2011

Я пишу дополнение для IE, используя VC ++ и ATL.Это простая DLL, и у меня есть текстовый файл, который я использую в качестве ресурса. Этот ответ помог мне в этом.

У меня есть вопрос об обновлении ресурса. MSDN описывает, как это сделать, но есть функция ( BeginUpdateResource ), которая требует имя файла exe или dll с ресурсом.

Возможно ли обновить ресурс в моемDLL из моей DLL?Я могу легко прочитать это таким образом, но для обновления я должен предоставить имя DLL.Это необходимо?

Также, если я не укажу полный путь к моей DLL, она ищет файл на рабочем столе, а не там, где хранится DLL.Я не знаю, почему это ведет себя так.

1 Ответ

1 голос
/ 25 февраля 2011

Я никогда не пытался сделать это, поэтому я могу ошибаться, но я был бы удивлен, если бы DLL могла обновлять свои собственные ресурсы.Если файл DLL загружен, то я ожидаю, что файл, содержащий DLL, будет заблокирован для чтения и неудачных попыток записи в этот файл.

Тем не менее, если вы хотите попробовать, просто дайте DLL передать егособственный путь к функции.

Вы можете получить путь к своей DLL, используя GetModuleFileName , передав в качестве первого аргумента HINSTANCE / HMODULE вашей библиотеки DLL (в наши дни это то же самое).HINSTNACE / HMODULE передается вам в DllMain.

...