WMI Fun !! 〜 WMI に興味がある方・システム管理者は必見です! 〜
 WMI Step|WMI Sample|WMI Reference|WMI Library|Enquete|About WMI Fun !!
 My Let'snote|Personal|Insomnia|Link

WMI Fun !! > WMI Step > C#.NET から WMI を使ってみよう

このエントリーをはてなブックマークに追加
毎日の仕事のお供におすすめミネラルウォータークリスタルカイザー
電子タバコならやっぱりアイコス ネイビー
気になる車は新車購入支援サイト オートックワンで最短 60 秒で見積もり OK

C#.NET から WMI を使ってみよう - WMI Step

Topics

C#.Net (Visual C#.Net) を使ったサンプルも欲しいというリクエストがあったので、興味本位で C# を使用した WMI の使い方のサンプルを書いてみました。

今までのサンプルコードと同様に Button をフォームに一つ貼り付けた状態のサンプルになります。

今回初めて C# を使ってみたので不十分な表記があるかもしれませんがその際には指摘してもらえるとありがたいです。



Sample Code

private void button1_Click(object sender, EventArgs e)
{

ManagementObjectSearcher oMS = new ManagementObjectSearcher();
ManagementObjectCollection oMC;
string sMsgStr = "";

oMS.Query.QueryString="SELECT * FROM Win32_Process";
oMC= oMS.Get();

foreach (ManagementObject oMO in oMC)
{
sMsgStr = sMsgStr & oMO["Description"].ToString() & ":" & oMO["ProcessId"].ToString() & "\n";
}

MessageBox.Show(sMsgStr);

}



Comment

では実行してみましょう。
多分エラーが出ると思います。「プロジェクト」メニューから「参照の追加」を選択し、「.NET」タブの中から「System.Management」を選択し「OK」を押します。

これで実行するとまたエラーが発生すると思います。先程参照の追加をおこなった System.Management を名前空間としてインポートする必要があります。
using 構文で記述が行われているブロックがあると思うのでそこに、

using System.Management;

と書いておくと System.Management 名前空間が定義され、用意されている各種クラスが初めて使用できるようになります。

さて実行してみましょう。現在実行中の各プロセスが表示されたはずです。

簡単にソースを説明していくと、
ManagementObjectSearcher クラスにて WQL で取得したい情報の構文を記述し、Get メソッドを使用してコレクションの取得を行います。 ManagementObjectCollection クラスが Get メソッドを使用して取得した結果を収める器になります。
あとは foreach 構文を使用してコレクションを解析していきます。ManagementObject クラスはコレクション解析時に使用しています。

VB.NET での使い方を過去に紹介していますが VB と C# の言語差による記述方法の差以外使い方やロジックは全く一緒になります。


ご意見・ご要望・ご感想をこちらのアンケートからお待ちしています
WMI に関して調べているけど探し物が見つからない…という方は Search Result から検索してみましょう!!

MCP (Microsoft Certified Professional)、 MCA (Microsoft Certified Associate)CompTIA A+
一応 MCP (Microsoft Certified Professional)、MCA (Microsoft Certified Associate)、
CompTIA A+ を所有してたりします…

- WMI Fun !! -
http://www.wmifun.net/
Microsoft 社のテクノロジーである WMI (Windows Management Instrumentation) の使い方を
Visual Basic を使ってのんびり公開しています
WMI は Windows 7 や Windows 8、Windows 10 で便利に使えますよ!
また VB や VBA、.Net (VB・C#) などの開発環境以外でも Win32/Win64 API に依存しないので WMIC や
WSH (VBS・JS)・PowerShell などスクリプト言語・コマンドラインから有効に活用が出来ます
Windows ベースの社内 IT システムに関する資産管理、アセットマネジメントや監視業務の効率化、
インベントリ情報収集系システムツール開発に WMI はお勧めです

This website is created by Toh.
Copyright(C) 1997-2016 WMI Fun !! All rights reserved.
WMI Fun !! へのリンクはご自由に…相互リンクに関するお問い合わせはアンケートページからお願いします

∧ ページの先頭へ…