質問: api関数でos判定 教えてください。 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で判別します。