c++ - 如何从不同进程的资源中加载字符串?

标签 c++ visual-c++ mfc

我需要加载一个字符串,该字符串位于不同进程的资源 dll 中,前提是该进程将在调用时运行。

我尝试了以下代码 -

    HMODULE hRes = ::LoadLibrary(_T("SomeResource.dll"));

    TCHAR buffer[50];
    ::LoadString(hRes, IDS_SOME_ID, buffer, 50);

此代码在 Debug模式下运行时运行良好。 但在 Release模式下 LoadLibrary 返回零。为什么?

我错过了什么吗?请帮助我。

我使用的是VC7.1编译器。

最佳答案

可能是查找 "SomeResource.dll" 的问题。当您从调试器运行时,可执行文件将从项目的路径启动。如果可以从那里找到 DLL。没关系。当您从 IDE 外部运行时,可执行文件将从不同的文件夹启动。可能是无法从那里找到 DLL。

关于c++ - 如何从不同进程的资源中加载字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3350760/

相关文章:

c++ - 如何在 C++ 中读入带空格的字符串

c++ - 使用Eclipse运行C代码的.exe文件

c++ - std::function of a value templated method 使用 clang 和 g++ 编译,但不使用 msvc

c++ - 什么是 CString::StringTraits?它是做什么用的?好像没有文档

c++ - CDaoDatabase断言错误

c++ - 有没有办法禁用 MFC 中的消息框?

c++ - 包裹在 rice/ruby 中的纯虚拟 c++ 类在运行时引发 TypeError ("is not a class (Module)")

c++ - boost::asio async_read 保证读取所有字节

c++ - 左值在使用 std::map 时指定 const 对象

c++ - 重叠 IO 和 ERROR_IO_INCOMPLETE