C# 获取本地IP地址以及MAC地址
2009-04-01 10:43
741 查看
1、通过主机名获取局域网IP地址;
try
{
IPHostEntry ipHostEntry = Dns.GetHostEntry(txtHost.Text);//传递计算机名
if (ipHostEntry.Aliases.Length > 0)
{
foreach (string alias in ipHostEntry.Aliases)
txtIP.Text = alias;
}
//获取IP地址
foreach (IPAddress addr in ipHostEntry.AddressList)
txtIPAddress.Text = addr.ToString();//获取IP地址
}
catch
{
MessageBox.Show("错误的主机名。");
}
2、通过局域网IP地址获取主机名;
try
{
IPHostEntry ipHostEntry = Dns.GetHostByAddress(txtIP.Text); ;//传递IP地址
txtHostName.Text = ipHostEntry.HostName.ToString()//取得主机名
}
catch
{
MessageBox.Show("错误的IP地址。");
}
3、通过局域网IP地址获取Mac地址
public static string ReadMac(string ip)//传递IP地址,即可返回MAC地址
{
string mac = "";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "nbtstat";
p.StartInfo.Arguments = "-a " + ip;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
int len = output.IndexOf("MAC Address = ");
if(len>0)
{
mac = output.Substring(len + 14, 17);
}
p.WaitForExit();
return mac;
}
C#获取本地计算机名,IP,MAC地址
try
{
IPHostEntry ipHostEntry = Dns.GetHostEntry(txtHost.Text);//传递计算机名
if (ipHostEntry.Aliases.Length > 0)
{
foreach (string alias in ipHostEntry.Aliases)
txtIP.Text = alias;
}
//获取IP地址
foreach (IPAddress addr in ipHostEntry.AddressList)
txtIPAddress.Text = addr.ToString();//获取IP地址
}
catch
{
MessageBox.Show("错误的主机名。");
}
2、通过局域网IP地址获取主机名;
try
{
IPHostEntry ipHostEntry = Dns.GetHostByAddress(txtIP.Text); ;//传递IP地址
txtHostName.Text = ipHostEntry.HostName.ToString()//取得主机名
}
catch
{
MessageBox.Show("错误的IP地址。");
}
3、通过局域网IP地址获取Mac地址
public static string ReadMac(string ip)//传递IP地址,即可返回MAC地址
{
string mac = "";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "nbtstat";
p.StartInfo.Arguments = "-a " + ip;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
int len = output.IndexOf("MAC Address = ");
if(len>0)
{
mac = output.Substring(len + 14, 17);
}
p.WaitForExit();
return mac;
}
C#获取本地计算机名,IP,MAC地址
using System; using System.Drawing; using System.Management; using System.net; using System.Net.Sockets; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace MAC_IP_name { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Label label4; private System.Windows.Forms.GrouPBox groupBox1; private System.Windows.Forms.TextBox txtMac; private System.Windows.Forms.TextBox txtIp; private System.Windows.Forms.TextBox txtName; private System.Windows.Forms.Label lblMac; private System.Windows.Forms.Label lblIp; private System.Windows.Forms.Label lblName; private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.label4 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.button2 = new System.Windows.Forms.Button(); this.txtMac = new System.Windows.Forms.TextBox(); this.txtIp = new System.Windows.Forms.TextBox(); this.txtName = new System.Windows.Forms.TextBox(); this.lblMac = new System.Windows.Forms.Label(); this.lblIp = new System.Windows.Forms.Label(); this.lblName = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // // label4 // this.label4.AutoSize = true; this.label4.Font = new System.Drawing.Font("楷体_GB2312", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.label4.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(128)), ((System.Byte)(128))); this.label4.Location = new System.Drawing.Point(49, 16); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(245, 26); this.label4.TabIndex = 7; this.label4.Text = "获取本机计算机名IP与MAC"; // // groupBox1 // this.groupBox1.Controls.Add(this.button2); this.groupBox1.Controls.Add(this.txtMac); this.groupBox1.Controls.Add(this.txtIp); this.groupBox1.Controls.Add(this.txtName); this.groupBox1.Controls.Add(this.lblMac); this.groupBox1.Controls.Add(this.lblIp); this.groupBox1.Controls.Add(this.lblName); this.groupBox1.Controls.Add(this.button1); this.groupBox1.Location = new System.Drawing.Point(16, 56); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(320, 208); this.groupBox1.TabIndex = 11; this.groupBox1.TabStop = false; this.groupBox1.Text = "获取区"; // // button2 // this.button2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.button2.Location = new System.Drawing.Point(184, 160); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(88, 32); this.button2.TabIndex = 18; this.button2.Text = "退出"; this.button2.Click += new System.EventHandler(this.button2_Click); // // txtMac // this.txtMac.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(224)), ((System.Byte)(224)), ((System.Byte)(224))); this.txtMac.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.txtMac.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(128)), ((System.Byte)(0))); this.txtMac.Location = new System.Drawing.Point(128, 110); this.txtMac.Name = "txtMac"; this.txtMac.ReadOnly = true; this.txtMac.Size = new System.Drawing.Size(168, 21); this.txtMac.TabIndex = 17; this.txtMac.Text = ""; // // txtIp // this.txtIp.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(224)), ((System.Byte)(224)), ((System.Byte)(224))); this.txtIp.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.txtIp.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(128)), ((System.Byte)(0))); this.txtIp.Location = new System.Drawing.Point(128, 70); this.txtIp.Name = "txtIp"; this.txtIp.ReadOnly = true; this.txtIp.Size = new System.Drawing.Size(168, 21); this.txtIp.TabIndex = 16; this.txtIp.Text = ""; // // txtName // this.txtName.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(224)), ((System.Byte)(224)), ((System.Byte)(224))); this.txtName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.txtName.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(128)), ((System.Byte)(0))); this.txtName.Location = new System.Drawing.Point(128, 30); this.txtName.Name = "txtName"; this.txtName.ReadOnly = true; this.txtName.Size = new System.Drawing.Size(168, 21); this.txtName.TabIndex = 15; this.txtName.Text = ""; // // lblMac // this.lblMac.AutoSize = true; this.lblMac.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.lblMac.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(0)), ((System.Byte)(0)), ((System.Byte)(64))); this.lblMac.Location = new System.Drawing.Point(32, 112); this.lblMac.Name = "lblMac"; this.lblMac.Size = new System.Drawing.Size(88, 22); this.lblMac.TabIndex = 14; this.lblMac.Text = "MAC地址为:"; // // lblIp // this.lblIp.AutoSize = true; this.lblIp.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.lblIp.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(0)), ((System.Byte)(0)), ((System.Byte)(64))); this.lblIp.Location = new System.Drawing.Point(40, 72); this.lblIp.Name = "lblIp"; this.lblIp.Size = new System.Drawing.Size(80, 22); this.lblIp.TabIndex = 13; this.lblIp.Text = "IP地址为:"; // // lblName // this.lblName.AutoSize = true; this.lblName.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.lblName.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(0)), ((System.Byte)(0)), ((System.Byte)(64))); this.lblName.Location = new System.Drawing.Point(24, 32); this.lblName.Name = "lblName"; this.lblName.Size = new System.Drawing.Size(97, 22); this.lblName.TabIndex = 12; this.lblName.Text = "计算机名为:"; // // button1 // this.button1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.button1.Location = new System.Drawing.Point(48, 160); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(88, 32); this.button1.TabIndex = 11; this.button1.Text = "点击获取"; this.button1.Click += new System.EventHandler(this.button1_Click_1); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(352, 285); this.Controls.Add(this.groupBox1); this.Controls.Add(this.label4); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; this.MaximizeBox = false; this.Name = "Form1"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "IP,计算机名,MAC查询"; this.groupBox1.ResumeLayout(false); this.ResumeLayout(false); } #endregion /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void button1_Click_1(object sender, System.EventArgs e) { string s="",mac=""; // //name // string hostInfo = Dns.GetHostName(); // //IP System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; for (int i = 0; i < addressList.Length; i ++) { s += addressList[i].ToString(); } // //mac // ManagementClass mc; mc=new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc=mc.GetInstances(); foreach(ManagementObject mo in moc) { if(mo["IPEnabled"].ToString()=="True") mac=mo["MacAddress"].ToString(); } txtName.Text=hostInfo; txtIp.Text=s; txtMac.Text=mac; button1.Enabled=false; button2.Focus(); } private void button2_Click(object sender, System.EventArgs e) { Application.Exit(); } } }
相关文章推荐
- C# 获取本地IP地址以及MAC地址
- C# 获取本地IP客户端IP地址以及MAC地址
- C#获取本地计算机名,IP,MAC(物理)地址
- C#获取本地计算机名IP,Mac地址
- Android获取WIFI状态下的IP地址以及MAC地址
- c#获取本地IP和MAC地址
- C#获取本地计算机名IP,Mac地址
- C#获取本地计算机名IP,Mac地址
- c# 、 Asp.net 获取本地IP和MAC地址
- C#获取本地计算机名IP,Mac地址
- python获取本地的IP地址及mac地址
- C#获取本地计算机名,IP,MAC(物理)地址(转)
- C#获取本地计算机名,IP,MAC地址
- C#编程之 如何获取本地和远程主机的IP及MAC地址
- C#编程之 如何获取本地和远程主机的IP及MAC地址
- c#获取本地IP和MAC地址
- Android获取WIFI状态下的IP地址以及MAC地址
- Linux 接口地址的获取-暨获取本地IP地址(所有地址,包括IPv4,IPV6,MAC 地址)
- C#中获取本地计算机的的计算机名,IP和MAC地址
- C#编程之 如何获取本地和远程主机的IP及MAC地址