From 4b4b307f0ebe7d1f93fffeb1fc9843bb0c8d6a45 Mon Sep 17 00:00:00 2001 From: zeromus Date: Tue, 10 Feb 2009 21:45:30 +0000 Subject: [PATCH] win32: try this to fix compilation on older sdks --- desmume/src/windows/main.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/desmume/src/windows/main.cpp b/desmume/src/windows/main.cpp index feffe39d5..47c210026 100644 --- a/desmume/src/windows/main.cpp +++ b/desmume/src/windows/main.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -1056,12 +1057,18 @@ typedef int (WINAPI *setLanguageFunc)(LANGID id); void SetLanguage(int langid) { - OSVERSIONINFO info; - ZeroMemory(&info, sizeof(info)); - info.dwOSVersionInfoSize = sizeof(info); - GetVersionEx(&info); - setLanguageFunc setLanguage = ((info.dwMajorVersion >= 6) ? - (setLanguageFunc)SetThreadUILanguage : (setLanguageFunc)SetThreadLocale); + + HMODULE kernel32 = LoadLibrary("kernel32.dll"); + FARPROC _setThreadUILanguage = (FARPROC)GetProcAddress(kernel32,"SetThreadUILanguage"); + + //OSVERSIONINFO info; + //ZeroMemory(&info, sizeof(info)); + //info.dwOSVersionInfoSize = sizeof(info); + //GetVersionEx(&info); + //setLanguageFunc setLanguage = ((info.dwMajorVersion >= 6) ? + // (setLanguageFunc)_setThreadUILanguage : (setLanguageFunc)SetThreadLocale); + + setLanguageFunc setLanguage = _setThreadUILanguage?(setLanguageFunc)_setThreadUILanguage:(setLanguageFunc)SetThreadLocale; switch(langid) { @@ -1080,6 +1087,8 @@ void SetLanguage(int langid) default: break; break; } + + FreeLibrary(kernel32); } void SaveLanguage(int langid)