.NET/WMIを使って物理メモリ・仮想メモリの使用量等を取得する
の編集
Top
/
.NET
/
WMIを使って物理メモリ・仮想メモリの使用量等を取得する
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
.NET
.NET/.NETでpingを実現する・System.Net.NetworkInformation.Ping
.NET/ARPテーブルを取得し表示するサンプル・GetIpNetTable
.NET/CPUコア毎の使用率を取得する
.NET/CPU使用率を取得する
.NET/DateとDateTimeの違い
.NET/HttpClientを使って指定したURLのページを取得する
.NET/IPv4からMACアドレス取得する・SendARP
.NET/IPアドレスからホスト名を取得するサンプルコード
.NET/ListのStringをカンマ区切りにする方法
.NET/Listを配列に配列をListに変換する
.NET/NET6.0でSQLiteを使ってみた Microsoft.Data.Sqlite
.NET/ODBCを使用してデータベースに接続しSQLを実行するサンプル
.NET/String.Splitで空要素を残す、空要素を削除するオプションについて
.NET/StringBuilderをバイト配列に変換する
.NET/Stringの配列をCSVにする方法
.NET/UNIX時間への変換・DateTimeOffset
.NET/UNIX時間をDateTimeOffset, DateTimeにする
.NET/Web APIからJSONを取得し値を表示する・DataContractJsonSerializer
.NET/WMIを使って物理メモリ・仮想メモリの使用量等を取得する
.NET/アルファベットを大文字、小文字に変換する
.NET/インストールされているODBCドライバ一覧を取得するサンプル
.NET/コンソールプログラムからトースト通知をするサンプル
.NET/サスペンド前・復帰の時に処理を行いたい
.NET/スペースのみの文字列、空の文字列、サイズ0の文字列を判定する
.NET/スリープの抑止、モニター電源オフの抑止のサンプルコード
.NET/ターゲットにしている.NETを確認する操作手順
.NET/テキストファイルの読込・ReadAllText,ReadAllLines
.NET/テキストファイルの読込・StreamReader
.NET/テンポラリファイルの作成・ランダムな文字列の作成を作成する
.NET/テンポラリファイル名を取得する・GetRandomFileName
.NET/ディレクトリの有無を確認する
.NET/ネットワークカードの各種情報を取得するサンプルコード
.NET/バイト配列にファイルの内容をすべて読み込む
.NET/バイナリーファイルの作成・リード・ライト
.NET/ファイルなの?ディレクトリなの?の判別
.NET/ファイルの有無を確認する
.NET/ファイル一覧を取得する・GetFiles,EnumerateFiles
.NET/プログラムに渡された引数を取得する方法
.NET/ユーザーが無操作の状態を取得する・GetLastInputInfo
.NET/三項演算子のサンプルコード
.NET/四捨五入をするときはMidpointRounding.AwayFromZeroにすること
.NET/指定した時間間隔でイベントを発行する・Timer
.NET/数値を指定した桁数分ゼロで埋めたい・ToString
.NET/文字列(String)を左右逆転し文字列(String)で返却する方法
.NET/文字列をバイト配列に変換・バイト配列を文字列に変換
.NET/文字列を区切り文字で分割する方法・Split
.NET/文字列宣言の先頭の@について
.NET/文字列数値を指定した桁数分ゼロで埋めたい・PadLeft
.NET/文字列日付をDateTimeに変換する
.NET/文字列配列orList配列に指定した文字列が存在するかを確認する方法
.NET/時間(日数+時間)が格納できるTimeSpan
.NET/月末の日を取得する方法・DaysInMonth
.NET/現在の日時を取得する
.NET/符号付バイトsbyte,符号なしbyteをintegerに変換する
.NET/管理者として実行されているかどうか確認するサンプルコード
.NET/連想配列(ハッシュ)のキーと値を取得する
.NET/連想配列(ハッシュ)を使ってみる・Dictionary
.NET/閏年かを調べる方法
AutoTicketLinkName
FrontPage
MenuBar
OSS
OSS/XYM日本円価格(シンボル日本円価格 (XYMJPYPrice)
OSS/ビットコイン日本円価格(ビットコイン日本円価格 (BitcoinJPYPrice)
RecentDeleted
VS
VS/Debug.Writeをイミディエイトウィンドウに出力する方法
VS/Visual Studio 2022に Spy++をインストールする手順
VS/VS2022の配色テーマの変更操作
VS/XAML編集に使うツールボックスの再表示する操作手順
VS/インデントなどコードを整形するショートカットの紹介
VS/コメントにするショートカットキー
VS/ショートカットキーで大文字・小文字に変換する
VS/ビルド中に中断したい場合の操作手順
WPF
WPF/DataGridを使ってみる
WPF/起動してもMainWindowを表示したくない場合
お約束
プライバシーポリシー
最初にお読みください
#navi(../) * WMIを使って物理メモリ・仮想メモリの使用量等を取得する [#ca6b646f] WMIを使ってWMI ClassのWin32_OperatingSystemからメモリの使用量等を取得し表示するコンソールアプリケーションになります。~ 尚、コンソールアプリケーションを動かすには参照にて''System.Management''を参照追加する必要があります。~ #contents * 動作確認環境 [#o8a46bf7] - Windows 10 ver.1909 - Visual Studio 2019 - .NET Framework 4.7.2 - コンソールアプリケーション #htmlinsert(windev-top.html) * 関連記事 [#l053efca] -[[CPU使用率を取得するサンプルコード>.NET/CPU使用率を取得する]] -[[CPUコア毎の使用率を取得するサンプルコード>.NET/CPUコア毎の使用率を取得する]] * 関連サイト [#kdaa7289] -[[Microsoft .NET ManagementClass クラス>https://docs.microsoft.com/ja-jp/dotnet/api/system.management.managementclass]] * 参照追加 [#u59cbf8d] ''System.Management''を参照に追加しないと以下のように&color(red){赤の波線};が表示されます。 #ref(11.png) #br ** ''System.Management''の参照追加手順 [#xaab5e4a] ''System.Management''を参照追加するにあたり、以下の手順で追加を行いました。 + 参照を右クリック #ref(01.png) #br + 参照マネージャーが表示されるので「アセンブリ」になっていることを確認し、~ 検索ボックスに''System.Management''を入力します。 + チェックを入れ「OK」ボタンをクリックします。 #ref(02.png) #br +以上の操作で''System.Management''の参照追加は完了です。 * サンプルコード [#z925f522] 以下に C#, Visual Basic(VB) のサンプルコードと実行結果を記します。 ** C# サンプルコード [#u3c86072] using System; class Program { static void Main(string[] args) { while (true) { using (System.Management.ManagementClass smmc = new System.Management.ManagementClass("Win32_OperatingSystem")) using (System.Management.ManagementObjectCollection smc = smmc.GetInstances()) { foreach (System.Management.ManagementObject smmo in smc) using (smmo) { UInt64 TotalVisibleMemorySize = (UInt64)smmo["TotalVisibleMemorySize"]; UInt64 FreePhysicalMemory = (UInt64)smmo["FreePhysicalMemory"]; UInt64 TotalVirtualMemorySize = (UInt64)smmo["TotalVirtualMemorySize"]; UInt64 FreeVirtualMemory = (UInt64)smmo["FreeVirtualMemory"]; Console.WriteLine("合計物理メモリ(TotalVisibleMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVisibleMemorySize, TotalVisibleMemorySize / 1024f, TotalVisibleMemorySize / 1024f / 1024f ); Console.WriteLine("利用可能物理メモリ(FreePhysicalMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreePhysicalMemory, FreePhysicalMemory / 1024f, FreePhysicalMemory / 1024f / 1024f ); Console.WriteLine("合計仮想メモリ(TotalVirtualMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVirtualMemorySize, TotalVirtualMemorySize / 1024f, TotalVirtualMemorySize / 1024f / 1024f ); Console.WriteLine("利用可能仮想メモリ(FreeVirtualMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreeVirtualMemory, FreeVirtualMemory / 1024f, FreeVirtualMemory / 1024f / 1024f ); } } System.Threading.Thread.Sleep(1000); Console.Clear(); } } } ** Visual Basic(VB) サンプルコード [#nca661cb] Module Module1 Sub Main() While True Using smmc As System.Management.ManagementClass = New System.Management.ManagementClass("Win32_OperatingSystem") Using smc As System.Management.ManagementObjectCollection = smmc.GetInstances() For Each smmo As System.Management.ManagementObject In smc Using smmo Dim TotalVisibleMemorySize As UInt64 = CULng(smmo("TotalVisibleMemorySize")) Dim FreePhysicalMemory As UInt64 = CULng(smmo("FreePhysicalMemory")) Dim TotalVirtualMemorySize As UInt64 = CULng(smmo("TotalVirtualMemorySize")) Dim FreeVirtualMemory As UInt64 = CULng(smmo("FreeVirtualMemory")) Console.WriteLine("合計物理メモリ(TotalVisibleMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVisibleMemorySize, TotalVisibleMemorySize / 1024.0F, TotalVisibleMemorySize / 1024.0F / 1024.0F) Console.WriteLine("利用可能物理メモリ(FreePhysicalMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreePhysicalMemory, FreePhysicalMemory / 1024.0F, FreePhysicalMemory / 1024.0F / 1024.0F) Console.WriteLine("合計仮想メモリ(TotalVirtualMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVirtualMemorySize, TotalVirtualMemorySize / 1024.0F, TotalVirtualMemorySize / 1024.0F / 1024.0F) Console.WriteLine("利用可能仮想メモリ(FreeVirtualMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreeVirtualMemory, FreeVirtualMemory / 1024.0F, FreeVirtualMemory / 1024.0F / 1024.0F) End Using Next End Using End Using System.Threading.Thread.Sleep(1000) Console.Clear() End While End Sub End Module ** 実行結果 [#v856fd7b] 上記サンプルコードの実行結果(キャプチャ)になります。~ #ref(12.png) 以上、WMIを使ってメモリの使用量等を取得するサンプルコードでした。 #htmlinsert(windev-btm.html)
タイムスタンプを変更しない
#navi(../) * WMIを使って物理メモリ・仮想メモリの使用量等を取得する [#ca6b646f] WMIを使ってWMI ClassのWin32_OperatingSystemからメモリの使用量等を取得し表示するコンソールアプリケーションになります。~ 尚、コンソールアプリケーションを動かすには参照にて''System.Management''を参照追加する必要があります。~ #contents * 動作確認環境 [#o8a46bf7] - Windows 10 ver.1909 - Visual Studio 2019 - .NET Framework 4.7.2 - コンソールアプリケーション #htmlinsert(windev-top.html) * 関連記事 [#l053efca] -[[CPU使用率を取得するサンプルコード>.NET/CPU使用率を取得する]] -[[CPUコア毎の使用率を取得するサンプルコード>.NET/CPUコア毎の使用率を取得する]] * 関連サイト [#kdaa7289] -[[Microsoft .NET ManagementClass クラス>https://docs.microsoft.com/ja-jp/dotnet/api/system.management.managementclass]] * 参照追加 [#u59cbf8d] ''System.Management''を参照に追加しないと以下のように&color(red){赤の波線};が表示されます。 #ref(11.png) #br ** ''System.Management''の参照追加手順 [#xaab5e4a] ''System.Management''を参照追加するにあたり、以下の手順で追加を行いました。 + 参照を右クリック #ref(01.png) #br + 参照マネージャーが表示されるので「アセンブリ」になっていることを確認し、~ 検索ボックスに''System.Management''を入力します。 + チェックを入れ「OK」ボタンをクリックします。 #ref(02.png) #br +以上の操作で''System.Management''の参照追加は完了です。 * サンプルコード [#z925f522] 以下に C#, Visual Basic(VB) のサンプルコードと実行結果を記します。 ** C# サンプルコード [#u3c86072] using System; class Program { static void Main(string[] args) { while (true) { using (System.Management.ManagementClass smmc = new System.Management.ManagementClass("Win32_OperatingSystem")) using (System.Management.ManagementObjectCollection smc = smmc.GetInstances()) { foreach (System.Management.ManagementObject smmo in smc) using (smmo) { UInt64 TotalVisibleMemorySize = (UInt64)smmo["TotalVisibleMemorySize"]; UInt64 FreePhysicalMemory = (UInt64)smmo["FreePhysicalMemory"]; UInt64 TotalVirtualMemorySize = (UInt64)smmo["TotalVirtualMemorySize"]; UInt64 FreeVirtualMemory = (UInt64)smmo["FreeVirtualMemory"]; Console.WriteLine("合計物理メモリ(TotalVisibleMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVisibleMemorySize, TotalVisibleMemorySize / 1024f, TotalVisibleMemorySize / 1024f / 1024f ); Console.WriteLine("利用可能物理メモリ(FreePhysicalMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreePhysicalMemory, FreePhysicalMemory / 1024f, FreePhysicalMemory / 1024f / 1024f ); Console.WriteLine("合計仮想メモリ(TotalVirtualMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVirtualMemorySize, TotalVirtualMemorySize / 1024f, TotalVirtualMemorySize / 1024f / 1024f ); Console.WriteLine("利用可能仮想メモリ(FreeVirtualMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreeVirtualMemory, FreeVirtualMemory / 1024f, FreeVirtualMemory / 1024f / 1024f ); } } System.Threading.Thread.Sleep(1000); Console.Clear(); } } } ** Visual Basic(VB) サンプルコード [#nca661cb] Module Module1 Sub Main() While True Using smmc As System.Management.ManagementClass = New System.Management.ManagementClass("Win32_OperatingSystem") Using smc As System.Management.ManagementObjectCollection = smmc.GetInstances() For Each smmo As System.Management.ManagementObject In smc Using smmo Dim TotalVisibleMemorySize As UInt64 = CULng(smmo("TotalVisibleMemorySize")) Dim FreePhysicalMemory As UInt64 = CULng(smmo("FreePhysicalMemory")) Dim TotalVirtualMemorySize As UInt64 = CULng(smmo("TotalVirtualMemorySize")) Dim FreeVirtualMemory As UInt64 = CULng(smmo("FreeVirtualMemory")) Console.WriteLine("合計物理メモリ(TotalVisibleMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVisibleMemorySize, TotalVisibleMemorySize / 1024.0F, TotalVisibleMemorySize / 1024.0F / 1024.0F) Console.WriteLine("利用可能物理メモリ(FreePhysicalMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreePhysicalMemory, FreePhysicalMemory / 1024.0F, FreePhysicalMemory / 1024.0F / 1024.0F) Console.WriteLine("合計仮想メモリ(TotalVirtualMemorySize) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", TotalVirtualMemorySize, TotalVirtualMemorySize / 1024.0F, TotalVirtualMemorySize / 1024.0F / 1024.0F) Console.WriteLine("利用可能仮想メモリ(FreeVirtualMemory) = {0,6:d}KB {1,3:f2}MB {2,3:f2}GB", FreeVirtualMemory, FreeVirtualMemory / 1024.0F, FreeVirtualMemory / 1024.0F / 1024.0F) End Using Next End Using End Using System.Threading.Thread.Sleep(1000) Console.Clear() End While End Sub End Module ** 実行結果 [#v856fd7b] 上記サンプルコードの実行結果(キャプチャ)になります。~ #ref(12.png) 以上、WMIを使ってメモリの使用量等を取得するサンプルコードでした。 #htmlinsert(windev-btm.html)
テキスト整形のルールを表示する
添付ファイル:
12.png
459件
[
詳細
]
11.png
411件
[
詳細
]
02.png
460件
[
詳細
]
01.png
405件
[
詳細
]