OSのビット数を調べたいのですが・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tosh

OSのビット数を調べたいのですが・・・

#1

投稿記事 by tosh » 3日前

お世話になります。

VB.netで、現在実行されているOSが32bitか64bitか確認するため、判定文で「System.Environment.Is64BitOperatingSystem」を使おうとしていますが、「Is64BitOperatingSystemはEnvironmentのメンバーではありません」と表示され、コンパイルエラーになってしまいます。

.NET Frameworkは4.6が入っているのですが、使うには宣言とか参照の追加とか、何らかの準備が必要なのでしょうか。

Bull
記事: 114
登録日時: 4年前

Re: OSのビット数を調べたいのですが・・・

#2

投稿記事 by Bull » 3日前

回答になってなくて申し訳ないですが、下の画像は Visual Studio でオブジェクト ブラウザーを開いているスクリーンショットです。
System.Environment.Is64BitOperatingSystem は mscorlib に含まれるようですので、特別な Imports などは必要ないと思われます。

コード:

Module Module1
    Sub Main()
        If Environment.Is64BitOperatingSystem Then
            Console.WriteLine("64Bit OS です")
        Else
            Console.WriteLine("64Bit OS ではありません")
        End If
    End Sub
End Module
こちらでは、このようなソースで問題なくコンパイルと実行ができています。

Environment の他の関数(GetEnvironmentVariablなど)も使用できないのですか?
添付ファイル
VisualStudio20181012_001.png

Bull
記事: 114
登録日時: 4年前

Re: OSのビット数を調べたいのですが・・・

#3

投稿記事 by Bull » 2日前

追記します。

こちらの環境は
Windows 7 Pro (32bit) Visual Studio 2015
Windows 8.1 Pro (64bit) Visual Studio 2017

.NET Framework は 4.5 です。

tosh

Re: OSのビット数を調べたいのですが・・・

#4

投稿記事 by tosh » 10時間前

Bull様
回答ありがとうございます。

オブジェクトブラウザで確認してみましたが、Environmentの下にIs64BitOperatingSystemは入っていませんでした。
職場の同僚の指摘によると、対象のソリューションは元々VB2010で作成し、Windows7上で動作していたものであり、mscorlibのバージョンが2.0.0.0であるのが原因かも知れないとの事でした。

仮に追加できたとしても、Windows7上に持って行ったときに動かないと意味がないので、別の方法を試してみようと思います。

返信

“C言語何でも質問掲示板” へ戻る