Win32s,Win9x,WinNT を判別する方法
(1999/10/12 [火])
プログラムを組んでいると Win32s, Win9x, WinNT といったプラットフォームを判別したくなる時があります。そんな時は、次のようなコードが役に立つでしょう。
/************************************************************* 関数: INT WINAPI GetPlatformID(void); 説明: 現在実行中の OS のプラットフォームを示す ID を得る 引数: なし 戻値: 現在実行中の OS のプラットフォームを示す ID VER_PLATFORM_WIN32s Win32s または Win3.1 VER_PLATFORM_WIN32_WINDOWS Win9x (Win95, Win98, など) VER_PLATFORM_WIN32_NT WinNT *************************************************************/ INT WINAPI GetPlatformID(void) { DWORD d = GetVersion(); if(HIWORD(d) & 0x8000u){ return LOBYTE(LOWORD(d)) < 4 ? VER_PLATFORM_WIN32s: VER_PLATFORM_WIN32_WINDOWS; } else { return VER_PLATFORM_WIN32_NT; } } |
by seclan