在開發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語言首選項中對語言進行切換進行測試。