3

ユーザーが実行している Windows のバージョンに基づいて、別のダウンロードへの別のリンクを表示する必要があるプログラムがあります。

この回答を使用して、OS のバージョンを検出できます。また、この回答を使用して、OS の 32 ビット版と 64 ビット版のどちらで実行しているかを検出できます。

これは私のニーズに完全に適合しますが、このページに出くわしました とバージョン番号Windows XP 64-Bit Editionを使用する.Windows Server 20035.2

これら 2 つの OS の違いを検出するにはどうすればよいですか?


補足として、2003 64 ビットまたは XP 64 ビットの場合は、別の場所に送信する必要があります。送信先のリンクは次のとおりです。

4

2 に答える 2

5

GetVersionExWindows Server 2003/2008/2008R2/2012 では、Windows XP/7/8 ではに設定wProductTypeされます。VER_NT_SERVERVER_NT_WORKSTATION

OS が 32 ビットか 64 ビットかを取得する方法は既にわかっているため、P/Invoke (GetVersionEx はこちら) を少し使用すれば、残りの部分を把握できるはずです。

あるいは、P/Invoke を使用したくない場合は、WMI を使用して、プロパティに同じ情報を持つクラスを調べることができます。あなたが本当にしなければならないのでない限り、私はわざわざこのようにするつもりはありませWin32_OperatingSystemProductType

于 2013-03-19T21:50:53.050 に答える
-1

.Netでプログラミングしていると仮定します。

System.Environmentプロパティには次のものが含まれます。

  • Is64BitOperatingSystem

  • Is64BitProcess

  • OSVersion

  • ProcessorCount

于 2013-03-19T21:45:00.463 に答える