【问题标题】:How to modyfy resource in a DLL from this DLL?如何从此 DLL 修改 DLL 中的资源?
【发布时间】:2011-02-21 11:36:36
【问题描述】:

我正在使用 VC++ 和 ATL 为 IE 编写插件。 这是一个简单的 DLL,我有一个用作资源的文本文件。 This 回答帮助我做到了这一点。

我有一个关于更新资源的问题。 MSDN 描述了如何做到这一点,但有一个函数 (BeginUpdateResource) 需要 exe 或 dll 的文件名和资源。

是否可以我的 DLL 更新我的 DLL 中的资源?我可以很容易地阅读它,但要更新我必须提供 DLL 的名称。有必要吗?

此外,如果我不提供 DLL 的完整路径,它会在桌面上查找文件,而不是 DLL 的存储位置。我不知道为什么会这样。

【问题讨论】:

    标签: visual-c++ dll resources resource-dll


    【解决方案1】:

    我从未尝试过这样做,所以我可能错了,但如果 DLL 可以更新自己的资源,我会感到惊讶。如果加载了 DLL 文件,那么我希望包含 DLL 的文件被锁定以进行读取和对该文件的写入尝试失败。

    不过,如果您想尝试,只需让 DLL 将自己的路径传递给函数即可。

    您可以使用GetModuleFileName 获取您的DLL 的路径,方法是将您的DLL 的HINSTANCE / HMODULE(现在它们是一样的)作为第一个参数。 HINSTNACE / HMODULE 在 DllMain 中传递给您。

    【讨论】:

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