2010-02-28 57 views
0

我有一個需要與我的應用程序一起安裝的hird-party dll。爲了創建一個正確的安裝程序,所有的.dll文件都必須定義一個LANGUAGE。不幸的是,這個第三方DLL沒有語言:(。是否有任何方法來爲它設置一種語言,而無需重新編譯?也許一些命令行工具在Microsoft SDK中?如何更改第三方DLL的語言?

回答

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); 
     } 
    } 
}