- PR -

ネットワークカードの取得

1
投稿者投稿内容
いけだ
会議室デビュー日: 2004/03/15
投稿数: 1
投稿日時: 2004-03-15 22:08
C#でプログラムを書いています
PCにつながっているネットワークカードの一覧と、そのネットワークカードに割り当てられているIPアドレスなどの情報を取得したいのですが(ipconfigコマンドで取得できるような情報を取得したい)、どのようにすれば良いのでしょうか。

ご教授いただけると幸いです。
聖人@SKB
ベテラン
会議室デビュー日: 2003/03/26
投稿数: 58
お住まい・勤務地: 横浜(MM21)勤務の筈だがいつも顧客先常駐
投稿日時: 2004-03-16 20:05
ハードウェア等の細かい情報は、WMI(Windows Management Instrumentation)を使うと取得可能です。
IPAddressだけなら、IPAddressクラスで取得可能です。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/setpmtudiscovery_method_in_class_win32_networkadapterconfiguration.asp

この「Win32_NetworkAdapterConfiguration」を利用するとよいでしょう。


こんな感じでネットワークアダプタ、IPアドレスは取得可能です。
private void NetworkAdapterInfo (){
  ManagementObjectSearcher mos =
          new ManagementObjectSearcher(
               "SELECT * FROM Win32_NetworkAdapterConfiguration");
  ManagementObjectCollection moCollection = mos.Get();
  foreach(ManagementObject mo in moCollection){
    string msg = (string)mo["Caption"] + "\t";
    string[] ip = (string[])mo["IPAddress"];
    if(ip != null){
      foreach(string s in ip){
        msg += s + "\t";
      }
    }
    Console.WriteLine(msg);
  }
}

尚、参照設定に「System.Management」を追加する必要があります。
1

スキルアップ/キャリアアップ(JOB@IT)