在win2000和xp中怎样知道当前系统安装了那几个语言呢?
就是在控制面版->区域选项中->系统的语言设置中有那几个语言打上勾了?

解决方案 »

  1.   

    FengYuanMSFT(袁峰 www.fengyuan.com)
      

  2.   

    用EnumSystemLanguageGroups
    BOOL CALLBACK EnumLanguageGroupsProc(
     DWORD LanguageGroup,             // language-group identifier
     LPTSTR lpLanguageGroupString,     // language-group identifier string
     LPTSTR lpLanguageGroupNameString, // language-group name string 
     DWORD dwFlags,                    // options
     LONG_PTR  lParam                  // callback parameter
     )
    {
         //看lpLanguageGroupNameString
         return TRUE;
    }
    typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(DWORD,LPSTR,LPSTR,DWORD,LONG_PTR);
    typedef BOOL (WINAPI *ENUMSYSTEMLANGUAGEGROUPS)(LANGUAGEGROUP_ENUMPROCA ,DWORD ,LONG_PTR );
    #define LGRPID_INSTALLED              0x00000001
    #define LGRPID_SUPPORTED              0x00000002    HMODULE hinstLib;
        ENUMSYSTEMLANGUAGEGROUPS ProcAdd; 
        hinstLib = LoadLibrary("Kernel32.dll"); 
        if (hinstLib != NULL) 
        { 
            ProcAdd = (ENUMSYSTEMLANGUAGEGROUPS) GetProcAddress(hinstLib, "EnumSystemLanguageGroupsA"); 
            if (ProcAdd != NULL) 
                (ProcAdd) (EnumLanguageGroupsProc,LGRPID_INSTALLED,0);
            FreeLibrary(hinstLib); 
        }