Revision: 9480 https://osdn.net/projects/ttssh2/scm/svn/commits/9480 Author: zmatsuo Date: 2021-10-18 23:55:35 +0900 (Mon, 18 Oct 2021) Log Message: ----------- IsWindowsXPOrLater() を追加 - IsWindowsVer(), IsWindowsVerOrLater() を ttlib_static_cpp.cpp へ移動 Modified Paths: -------------- trunk/teraterm/common/ttlib.c trunk/teraterm/common/ttlib.h trunk/teraterm/common/ttlib_static_cpp.cpp -------------- next part -------------- Modified: trunk/teraterm/common/ttlib.c =================================================================== --- trunk/teraterm/common/ttlib.c 2021-10-18 14:55:26 UTC (rev 9479) +++ trunk/teraterm/common/ttlib.c 2021-10-18 14:55:35 UTC (rev 9480) @@ -935,46 +935,6 @@ OutputDebugStringA(tmp); } -// OS\x82\xAA \x8Ew\x92肳\x82ꂽ\x83o\x81[\x83W\x83\x87\x83\x93\x82Ɠ\x99\x82\xB5\x82\xA2 \x82\xA9\x82ǂ\xA4\x82\xA9\x82ʂ\xB7\x82\xE9\x81B -BOOL IsWindowsVer(DWORD dwPlatformId, DWORD dwMajorVersion, DWORD dwMinorVersion) -{ - OSVERSIONINFOEXA osvi; - DWORDLONG dwlConditionMask = 0; - int op = VER_EQUAL; - BOOL ret; - - ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - osvi.dwPlatformId = dwPlatformId; - osvi.dwMajorVersion = dwMajorVersion; - osvi.dwMinorVersion = dwMinorVersion; - dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_PLATFORMID, op); - dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MAJORVERSION, op); - dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MINORVERSION, op); - ret = _VerifyVersionInfoA(&osvi, VER_PLATFORMID | VER_MAJORVERSION | VER_MINORVERSION, dwlConditionMask); - return (ret); -} - -// OS\x82\xAA \x8Ew\x92肳\x82ꂽ\x83o\x81[\x83W\x83\x87\x83\x93\x88ȍ~ \x82\xA9\x82ǂ\xA4\x82\xA9\x82ʂ\xB7\x82\xE9\x81B -// dwPlatformId \x82\xF0\x8C\xA9\x82Ă\xA2\x82Ȃ\xA2\x82̂\xC5 NT \x83J\x81[\x83l\x83\x8B\x93\xE0\x82ł\xB5\x82\xA9\x94\xE4\x8Ar\x82ł\xAB\x82Ȃ\xA2 -// 5.0 \x88ȏ\xE3\x82Ŕ\xE4\x8Ar\x82\xB7\x82邱\x82\xC6 -BOOL IsWindowsVerOrLater(DWORD dwMajorVersion, DWORD dwMinorVersion) -{ - OSVERSIONINFOEXA osvi; - DWORDLONG dwlConditionMask = 0; - int op = VER_GREATER_EQUAL; - BOOL ret; - - ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - osvi.dwMajorVersion = dwMajorVersion; - osvi.dwMinorVersion = dwMinorVersion; - dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MAJORVERSION, op); - dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MINORVERSION, op); - ret = _VerifyVersionInfoA(&osvi, VER_MAJORVERSION | VER_MINORVERSION, dwlConditionMask); - return (ret); -} - // OS\x82\xAA WindowsNT \x83J\x81[\x83l\x83\x8B\x82\xA9\x82ǂ\xA4\x82\xA9\x82ʂ\xB7\x82\xE9\x81B // // return TRUE: NT kernel Modified: trunk/teraterm/common/ttlib.h =================================================================== --- trunk/teraterm/common/ttlib.h 2021-10-18 14:55:26 UTC (rev 9479) +++ trunk/teraterm/common/ttlib.h 2021-10-18 14:55:35 UTC (rev 9480) @@ -113,6 +113,8 @@ void OutputDebugPrintfW(const wchar_t *fmt, ...); #endif void OutputDebugHexDump(const void *data, size_t len); +BOOL IsWindowsVer(DWORD dwPlatformId, DWORD dwMajorVersion, DWORD dwMinorVersion); +BOOL IsWindowsVerOrLater(DWORD dwMajorVersion, DWORD dwMinorVersion); DllExport DWORD get_OPENFILENAME_SIZEA(); DllExport DWORD get_OPENFILENAME_SIZEW(); DllExport BOOL IsWindows95(); @@ -121,6 +123,7 @@ DllExport BOOL IsWindowsNTKernel(); DllExport BOOL IsWindows2000(); DllExport BOOL IsWindows2000OrLater(); +BOOL IsWindowsXPOrLater(void); DllExport BOOL IsWindowsVistaOrLater(); DllExport BOOL IsWindows7OrLater(); DllExport BOOL HasMultiMonitorSupport(); Modified: trunk/teraterm/common/ttlib_static_cpp.cpp =================================================================== --- trunk/teraterm/common/ttlib_static_cpp.cpp 2021-10-18 14:55:26 UTC (rev 9479) +++ trunk/teraterm/common/ttlib_static_cpp.cpp 2021-10-18 14:55:35 UTC (rev 9480) @@ -1266,3 +1266,52 @@ } return TRUE; } + +// OS\x82\xAA \x8Ew\x92肳\x82ꂽ\x83o\x81[\x83W\x83\x87\x83\x93\x82Ɠ\x99\x82\xB5\x82\xA2 \x82\xA9\x82ǂ\xA4\x82\xA9\x82ʂ\xB7\x82\xE9\x81B +BOOL IsWindowsVer(DWORD dwPlatformId, DWORD dwMajorVersion, DWORD dwMinorVersion) +{ + OSVERSIONINFOEXA osvi; + DWORDLONG dwlConditionMask = 0; + int op = VER_EQUAL; + BOOL ret; + + ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + osvi.dwPlatformId = dwPlatformId; + osvi.dwMajorVersion = dwMajorVersion; + osvi.dwMinorVersion = dwMinorVersion; + dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_PLATFORMID, op); + dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MAJORVERSION, op); + dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MINORVERSION, op); + ret = _VerifyVersionInfoA(&osvi, VER_PLATFORMID | VER_MAJORVERSION | VER_MINORVERSION, dwlConditionMask); + return (ret); +} + +// OS\x82\xAA \x8Ew\x92肳\x82ꂽ\x83o\x81[\x83W\x83\x87\x83\x93\x88ȍ~ \x82\xA9\x82ǂ\xA4\x82\xA9\x82ʂ\xB7\x82\xE9\x81B +// dwPlatformId \x82\xF0\x8C\xA9\x82Ă\xA2\x82Ȃ\xA2\x82̂\xC5 NT \x83J\x81[\x83l\x83\x8B\x93\xE0\x82ł\xB5\x82\xA9\x94\xE4\x8Ar\x82ł\xAB\x82Ȃ\xA2 +// 5.0 \x88ȏ\xE3\x82Ŕ\xE4\x8Ar\x82\xB7\x82邱\x82\xC6 +BOOL IsWindowsVerOrLater(DWORD dwMajorVersion, DWORD dwMinorVersion) +{ + OSVERSIONINFOEXA osvi; + DWORDLONG dwlConditionMask = 0; + int op = VER_GREATER_EQUAL; + BOOL ret; + + ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + osvi.dwMajorVersion = dwMajorVersion; + osvi.dwMinorVersion = dwMinorVersion; + dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MAJORVERSION, op); + dwlConditionMask = _VerSetConditionMask(dwlConditionMask, VER_MINORVERSION, op); + ret = _VerifyVersionInfoA(&osvi, VER_MAJORVERSION | VER_MINORVERSION, dwlConditionMask); + return (ret); +} + +// OS\x82\xAA Windows XP \x88ȍ~ \x82\xA9\x82ǂ\xA4\x82\xA9\x82ʂ\xB7\x82\xE9\x81B +// +// return TRUE: XP or later +// FALSE: 2000 or earlier +BOOL IsWindowsXPOrLater(void) +{ + return IsWindowsVerOrLater(5, 1); +}