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