http://msdn.microsoft.com/en-us/library/windows/desktop/aa370556(v=vs.85).aspx によると
WindowsServer2012とWindows8は、VersionNT WindowsBuild ServicePackLevelも違いが書いていないので、ならば別の方法で調べられるんじゃないかと考えているのですが、見つけられず悩んでいます。
よろしくお願いいたします。
OSのバージョン情報はEnvironmentクラスのOSVersionプロパティにより取得できます。
http://msdn.microsoft.com/ja-jp/library/system.environment.osversion(v=VS.80).aspx
.NET 4では、ComputerInfoクラスから取得します。
http://msdn.microsoft.com/ja-jp/library/vstudio/microsoft.visualbasic.devices.computerinfo.osversion(v=vs.100).aspx
Windows8と2012のバージョン番号については下記をご覧下さい。
http://www.westbrook.jp/Tips/Win/OSVersion.html
OSのバージョン情報はEnvironmentクラスのOSVersionプロパティにより取得できます。
http://msdn.microsoft.com/ja-jp/library/system.environment.osversion(v=VS.80).aspx
.NET 4では、ComputerInfoクラスから取得します。
http://msdn.microsoft.com/ja-jp/library/vstudio/microsoft.visualbasic.devices.computerinfo.osversion(v=vs.100).aspx
Windows8と2012のバージョン番号については下記をご覧下さい。
http://www.westbrook.jp/Tips/Win/OSVersion.html
その通りです。
oil999 さんありがとうございました。
お陰様でWindows2008を判定することができるようになりました。
WindowsServer2012が判定できているかどうかは・・・はてなの懸賞でも狙ってみようかと思います。
http://b.hatena.ne.jp/articles/201211/11566
msdn から OSVERSIONINFOEX 構造体の説明です。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724833%28v=vs.85%29.aspx
Operating system Version number dwMajorVersion dwMinorVersion Other Windows 8 6.2 6 2 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION Windows Server 2012 6.2 6 2 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
これ、分かってないとはまりそうですね。
wProductType
Value Meaning VER_NT_SERVER
0x0000003The operating system is Windows Server 2012, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER.
a-kuma3さんありがとうございます。
その通りです。
2012/11/26 23:09:07oil999 さんありがとうございました。
2012/11/27 14:57:22お陰様でWindows2008を判定することができるようになりました。
WindowsServer2012が判定できているかどうかは・・・はてなの懸賞でも狙ってみようかと思います。
http://b.hatena.ne.jp/articles/201211/11566