如何更改第三方DLL的语言?

时间:2010-02-28 09:33:58

标签: dll

我有一个需要与我的应用程序一起安装的第三方dll。为了创建正确的安装程序,所有.dll文件都必须定义LANGUAGE。不幸的是,这个第三方dll没有LANGUAGE :(。是否可以在没有重新编译的情况下为它设置语言?可能是Microsoft SDK中的一些命令行工具?

1 个答案:

答案 0 :(得分:1)

我不知道是否有工具可以做,但你可以自己写一个。见http://www.codeproject.com/KB/cpp/UpdateVersion.aspx

以下是示例代码:

HANDLE hResource = BeginUpdateResource(lpszFile, FALSE);
if (NULL != hResource)
{
    UINT uTemp;

    // get the language information
    if (VerQueryValue(lpBuffer,
                      _T("\\VarFileInfo\\Translation"),
                      (LPVOID *) &lpTranslate,
                      &uTemp) != FALSE)
    {
        // could probably just use LANG_NEUTRAL/SUBLANG_NEUTRAL
        if (UpdateResource(hResource,
                           RT_VERSION,
                           MAKEINTRESOURCE(VS_VERSION_INFO),
                           lpTranslate->wLanguage,
                           lpBuffer,
                           dwSize) != FALSE)
        {
            EndUpdateResource(hResource, FALSE);
        }
    }
}