-PR-
締切済み

API関数でOS判定

  • 困ってます
  • 質問No.10810
  • 閲覧数287
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 7% (1/13)

教えてください。
Win32のAPI関数「GetVersionEx」を使用して、OSの判定をおおなっているのですが、「Windows2000」「WindowsCE」「WindowsME」の判定方法がわかりません。その他の「WindowsNT」「Windows3.51」「Windows95/98」はAPI関数の戻り値(構造体)の「プラットフォームID」と「マイナーバージョン」でわかるのですが…。
どなたか回答をお願いします。

ちなみに、「WindowsME」でのマイナーバージョンを調べてらら「90」の値が返ってきました。これは、「90未満」「90以下」「90以上」「90超」のどれなんでしょうか…。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 40% (230/562)

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で判別します。


  • 回答No.2
レベル12

ベストアンサー率 41% (324/772)

できればOSVERSIONINFO.dwBuildNumberまで見れば、
Win-Me、Win98SE、Win98、Win95の区別や、製品版とβ版との
区別もできますよ。

szCSDVersionを見れば、サービスパックの適用状態まで
判断できます。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ