多语言切换问题 我用不同的dll实现多语言资源,但是在切换语言时,不能动态的加载语言资源dll.每次都要重新启动程序,请问能否不重新启动程序,实现动态的加载语言资源dll。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 动态包含dllLoadLibrary(...)FreeLibrary(...) 现在代码如下 char szProgramPath[512] = {0}; if (GetModuleFileName(NULL, szProgramPath, sizeof(szProgramPath)/sizeof(char)-1) != 0) { char *pchSplit = strrchr(szProgramPath, '\\'); if (pchSplit != NULL) memset(pchSplit, 0, strlen(pchSplit)); string strLanguage; strLanguage = GetReg(ADMIN_REGKEYNAME, "Language"); if (strcmp(strLanguage.c_str(), "chinese_gb") == 0) { strcat(szProgramPath, "\\language\\chinese_gb.dll"); hResourceDll = LoadLibrary(szProgramPath); } else if (strcmp(strLanguage.c_str(), "chinese_big5") == 0) { strcat(szProgramPath, "\\language\\chinese_gb.dll"); hResourceDll = LoadLibrary(szProgramPath); } else hResourceDll = NULL; if (hResourceDll) { AfxSetResourceHandle(hResourceDll); strcpy(szLanguage, strLanguage.c_str()); } else strcpy(szLanguage, "english"); } else { strcpy(szLanguage, "english"); } AfxSetResourceHandle(hResourceDll);加载的资源如何卸载? 一个完整的例子http://www.codeproject.com/cpp/mult_lang_support.asp 汉字字符的BYTE到wchar转换问题 软件开发中如何有效减少GDI对象的占用? 用CPen时出现的警告 同一个对话框类的实例窗口,如何确定哪个窗口处于被激活状态 #include <window.h>出错 请大家帮我看看 我的生成“子窗口”程序,出现死循环 ATL中是否能实现文档/试图? 关于视频捕捉的capCaptureSequence函数 如何确定一个ACCESS数据库中是否有 表AA(VC+DAO) 如何动态改变一个控件的大小?比如长度? 如何让控件在容器中透明显示? 请来关注全新游戏论坛
LoadLibrary(...)
FreeLibrary(...)
char szProgramPath[512] = {0};
if (GetModuleFileName(NULL, szProgramPath,
sizeof(szProgramPath)/sizeof(char)-1) != 0)
{
char *pchSplit = strrchr(szProgramPath, '\\');
if (pchSplit != NULL)
memset(pchSplit, 0, strlen(pchSplit)); string strLanguage;
strLanguage = GetReg(ADMIN_REGKEYNAME, "Language");
if (strcmp(strLanguage.c_str(), "chinese_gb") == 0)
{
strcat(szProgramPath, "\\language\\chinese_gb.dll");
hResourceDll = LoadLibrary(szProgramPath);
}
else if (strcmp(strLanguage.c_str(), "chinese_big5") == 0)
{
strcat(szProgramPath, "\\language\\chinese_gb.dll");
hResourceDll = LoadLibrary(szProgramPath);
}
else
hResourceDll = NULL; if (hResourceDll)
{
AfxSetResourceHandle(hResourceDll);
strcpy(szLanguage, strLanguage.c_str());
}
else
strcpy(szLanguage, "english"); }
else
{
strcpy(szLanguage, "english");
}
加载的资源如何卸载?