OSの判別について

[戻る]
まる 2002/05/01(水) 11:01:13
おせわになります。
まると申します。

Win2000/VC++6.0を使って、SDKで開発してます。
98、NT、2000、XP上で動かしたいのでOSを判別したいと思います。
98系とNT系の判別はできますが、
NT/2000/XPの判別はどうすればよいのでしょうか?

ちなみに、現在はGetVersionExのdwPlatformIDを使っています。
NTと2000とXPの判別方法をご教授いただけますでしょうか。
よろしくお願いします。

駄犬 [E-Mail] 2002/05/01(水) 11:37:15
GetVersionExのdwMajorVersionはいかがでしょう。
NT3.xでは3、NT4では4、2000では5になるはずです。
XPは持っていないので試せません。

kng [E-Mail] 2002/05/01(水) 16:22:56
XPHomeで試してみました。

XPでは
dwMinorVersionが1
dwMajorVersionが5

になりました。

VC++.Netを使いました。

まる 2002/05/01(水) 18:35:15
[[解決]]
駄犬さん、kngさん、早速お返事いただきありがとうございます。
dwPlatformIdだけじゃなく、別のメンバも使うのですね。

>駄犬さん
Win2000で、dwMajorVersion=5,dwMinorVersion=0となることを
確認する事ができました。
これでNT系も判別できますね!
ありがとうございました!

>kngさん
WinXPHomeでは、dwMajorVersionはWin2000と同じで、
dwMinorVersionが1になっているのですね。
WinXPの環境を整えたら試したいと思います
わざわざ試して頂いてありがとうございます!

これで完全にOSの判別ができると思います。
お教えいただきありがとうございました!
またお聞きする事もあると思いますが、今後とも宜しくお願い致します。

古いスレッドには追加発言できません。