我正在研究由许多项目组成的MFC解决方案。我的项目“ App.exe”之一依赖于其他项目输出dll“ SC.dll”。
我通过App项目下的Add Reference选项添加了对其他项目的引用。
我想通过使用资源dll在语言之间“基于选项”切换。
我还有另一个资源项目,该项目产生阿拉伯语资源“ SC_AR.dll”。
我试图基于该选项使用LoadLibrary,但是失败了。
“添加引用”方法是否错误?
如果没有,我如何在Dll之间切换?
如果是,应遵循的正确方法是什么?
最佳答案
无需引用resource satellite。 MFC使用用户的Windows UI语言和应用程序的文件名搜索附属DLL。若要切换到其他卫星,请调用LoadLibrary(),然后调用AfxSetResourceHandle()。
当然,这是假设您正在通过MFC加载所有资源(例如,使用CString :: LoadString而不是LoadResource)。如果直接调用API,则必须显式使用自己的附属DLL句柄。
PS the less said about SetThreadLocale更好。
关于c++ - 在资源DLL之间切换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14304533/