Network Adapter Delphi

Print Friendly

Sangat mudah untuk mendapatkan daftar network adapter/network card Windows menggunakan Delphi, yaitu dengan memanfaatkan WMI (Windows Management Instrumentation). Tentang WMI telah saya tulis dalam trik menampilkan daftar keyboard dengan Dephi.

Untuk mencoba, buatlah sebuah projek baru. Save ke sebuah folder.

Kemudian download file WBEM Scripting Type Library interface yang sudah saya siapkan:

Download WBEM Scripting Type Library Interface

Dan letakkan dalam satu folder dengan projek Anda.

Di Delphi, lihat code untuk Form1. Tambahkan nama unit hasil download dan unit ActiveX ke clausa uses (cukup di bagian implementation):


implementation

{$R *.dfm}

uses
  ActiveX,
  org_cenadep_mod_WbemScripting_TLB;

Kemudian kembali ke form designer. Tambahkan sebuah Button dan sebuah Listbox. Saat Button diklik, daftar network adapter akan ditampilkan ke Listbox1.
Lihat tampilan desain punya saya sebagai perbandingan:

Cenadep.org-Delphi-Tutorial-2013-09-30 06_41_13-Form1

Kemudian klik ganda Button1 dan isikan kode untuk event OnClick seeperti berikut:

procedure TForm1.Button1Click(Sender: TObject);
var
  WMIServices : ISWbemServices;
  Root        : ISWbemObjectSet;
  Item        : Variant;
  i           : Integer;
  devID       : string;
  StrDeviceName: String;
begin
  ListBox1.Clear;
  try
    try
      CoInitialize(nil);
      
      WMIServices := CoSWbemLocator.Create.ConnectServer('.','root\cimv2', '', '', '', '', 0, nil);
      Root := WMIServices.ExecQuery('Select * From Win32_NetworkAdapter where AdapterType like ''Ethernet%'' or AdapterType = ''Wireless''','WQL', 0, nil);
      for i:= 0 to Root.Count-1 do
      begin
        Item := Root.ItemIndex(i);
        ListBox1.Items.Add('Adapter '+ IntToStr(i+1)+':');
        ListBox1.Items.Add('     Device ID  : '+VarToStr(Item.DeviceID));
        ListBox1.Items.Add('     Name          : '+VarToStr(Item.Name));
        ListBox1.Items.Add('     MAC Address: '+VarToStr(Item.MACAddress));
        ListBox1.Items.Add('     Type  : '+VarToStr(Item.AdapterType));
        ListBox1.Items.Add('------------------------------------------------------------');
      end;
      CoUninitialize
    except
      CoUninitialize
    end;
  except
  end;
end;

Dengan demikian kode selengkapnya menjadi:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
  ActiveX,
  org_cenadep_mod_WbemScripting_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var
  WMIServices : ISWbemServices;
  Root        : ISWbemObjectSet;
  Item        : Variant;
  i           : Integer;
  devID       : string;
  StrDeviceName: String;
begin
  ListBox1.Clear;
  try
    try
      CoInitialize(nil);
      
      WMIServices := CoSWbemLocator.Create.ConnectServer('.','root\cimv2', '', '', '', '', 0, nil);
      Root := WMIServices.ExecQuery('Select * From Win32_NetworkAdapter where AdapterType like ''Ethernet%'' or AdapterType = ''Wireless''','WQL', 0, nil);
      for i:= 0 to Root.Count-1 do
      begin
        Item := Root.ItemIndex(i);
        ListBox1.Items.Add('Adapter '+ IntToStr(i+1)+':');
        ListBox1.Items.Add('     Device ID  : '+VarToStr(Item.DeviceID));
        ListBox1.Items.Add('     Name          : '+VarToStr(Item.Name));
        ListBox1.Items.Add('     MAC Address: '+VarToStr(Item.MACAddress));
        ListBox1.Items.Add('     Type  : '+VarToStr(Item.AdapterType));
        ListBox1.Items.Add('------------------------------------------------------------');
      end;
      CoUninitialize
    except
      CoUninitialize
    end;
  except
  end;
end;

end.

Lalu save projek.
Sekarang compile projek kita, jalankan dan klik Button1. Hasilnya, daftar network adpater yang ada di kompuetr Anda akan ditampilkan dalam Listbox1 sesuai yang kita harapkan.

Cenadep.org-Delphi-Tutorial-2013-09-30 06_45_18-Form1

Download Source Code Contoh Program Menampilkan Daftar Network Adapter Dengan Delphi

Silahkan download source code contoh program di sini.

Sukses selalu :)

 

Comments

comments

Powered by Facebook Comments