在开发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语言首选项中对语言进行切换进行测试。