質問: 教えてください。 Win32のAPI関数「GetVersionEx」を使用して、OSの判定をおおなっているのですが、「Windows2000」「WindowsCE」「WindowsME」の判定方法がわかりません。その他の「WindowsNT」「Windows3.51」「Windows95/98」はAPI関数の戻り値(構造体)の「プラットフォームID」と「マイナーバージョン」でわかるのですが...。 どなたか回答をお願いします。 ちなみに、「WindowsME」でのマイナーバージョンを調べてらら「90」の値が返ってきました。これは、「90未満」「90以下」「90以上」「90超」のどれなんでしょうか...。
回答: 2000はNTの区分なので、dwPlatformIdにはVER_PLATFORM_WIN32_NTが入ります。 2000はNT4の後継で、dwMajorVersionに5が入るはずですが。 MEは持ってないのでわかりません。 dwPlatformId がVER_PLATFORM_WIN32_WINDOWSなのは確かですが、おそらく、dwMajorVersionは5になるのではないでしょうか。 95も98も4なので、もしかしたらMEも4かもしれませんが。 細かいところはメジャーバージョン+マイナーバージョン÷100で判別します。