如何判斷Office的語言

在開發Office相關插件的時候,不可避免要做中英文的處理,因爲界面語言需要跟隨Office的語言。

判斷Office的語言也很簡單,通過讀取註冊表即可實現:

註冊表路徑如下:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0

通過在該註冊表項下面找到你需要判斷office組件。

這裏通過判斷Lync 2013的語言進行示例:

LANGUAGE_TYPE GetCurLanguage()
{
 LANGUAGE_TYPE language=CH;
 HKEY hRootKey=HKEY_CURRENT_USER;
 HKEY hKey = NULL;
 LONG lRet;
 CString strKeyPath=_T("Software\\Microsoft\\Office\\15.0\\Lync");
 lRet = RegOpenKey(hRootKey, strKeyPath, &hKey);
 if (lRet != ERROR_SUCCESS)
 {
  return language;
 }
 TCHAR szPath[MAX_PATH] = {0};
 DWORD dwData = 256;
 DWORD dwType = REG_DWORD; 
 DWORD dwValue=0;
 lRet = RegQueryValueEx(hKey, _T("CurrentUILanguage"), NULL, &dwType, NULL, &dwData);
 lRet = RegQueryValueEx(hKey, _T("CurrentUILanguage"), NULL, &dwType, (LPBYTE)&dwValue, &dwData);
 if (lRet != ERROR_SUCCESS)
 {
  return language;
 }
 RegCloseKey(hKey);
 if (1033 == dwValue)
 {
  language=EN;
 }
 else if (2052==dwValue)
 {
  language=CH;
 }
 return language;
}

通過獲取到的dwValue值進行判斷,1033是英文,2052是中文。

可以在Office語言首選項中對語言進行切換進行測試。

wKiom1RgG82y-FjXAAOPG8IP-fc563.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章