posts - 116,  comments - 34,  trackbacks - 0
在.NET中获取一台电脑名,IP地址及当前用户名是非常简单,以下是我常用的几种方法,如果大家还有其他好的方法,可以回复一起整理:
        1. 在ASP.NET中专用属性:
        获取服务器电脑名:Page.Server.ManchineName
        获取用户信息:Page.User
        获取客户端电脑名:Page.Request.UserHostName
        获取客户端电脑IP:Page.Request.UserHostAddress
        2. 在网络编程中的通用方法:
        获取当前电脑名:static System.Net.Dns.GetHostName()
        根据电脑名取出全部IP地址:static System.Net.Dns.Resolve(电脑名).AddressList
        也可根据IP地址取出电脑名:static System.Net.Dns.Resolve(IP地址).HostName
        3. 系统环境类的通用属性:
        当前电脑名:static System.Environment.MachineName
        当前电脑所属网域:static System.Environment.UserDomainName
        当前电脑用户:static System.Environment.UserName

              举例子来说明:

              using System.Net;
              private void ButtonIP_Click(object sender, System.EventArgs e)
              { 
                  System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
                  if (addressList.Length>1)
                  {   
                      TextLIP.Text = addressList[0].ToString();
                      TextSIP.Text = addressList[1].ToString();
                  }
                 else
                 { 
                      TextLIP.Text = addressList[0].ToString();
                      TextSIP.Text = "没有可用的连接";
                 }
             }

获取服务器的IP地址方法以DNS法较为简单实用,如下:
  using System.Net;

 

 private void ButtonIP_Click(object sender, System.EventArgs e)
  { 
     System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
     if ( addressList.Length>1)
     {  
TextLIP.Text = addressList[0].ToString();
          
TextSIP.Text = addressList[1].ToString();
     }
     else
     {
          
TextLIP.Text = addressList[0].ToString();
         
TextSIP.Text = "没有可用的连接";
     }
  }

获取服务器的IP地址与MAC地址另一方法如下:

   using System.Management;

 

   string stringMAC = "";
   string
stringIP = "";
   ManagementClass 
MC = new ManagementClass "Win32_NetworkAdapterConfiguration");
   ManagementObjectCollection
MOC= MC.GetInstances();
  
   foreach(ManagementObject 
MO in MOC)
   {
    if ((bool)
MO["IPEnabled"] == true)
    {
     
stringMAC += MO["MACAddress"].ToString();
     
TextMAC.Text = stringMAC.ToString();
     string[] IPAddresses = (string[])
MO["IPAddress"];
     if(IPAddresses.Length > 0)
     
stringIP = IPAddresses[0];
     
TextIP.Text = stringIP.ToString();
    }
   } 

 

获取客户端本机的IP地址相当简易,方法如下:

using System.Net;

 

TextIP.Text=Page.Request.UserHostAddress;

如要获取客户端本机的MAC地址就相对复杂些,得导入调用两个API,用ARP协议获取,但这样只能获取到同网段机器的MAC,对于跨网段的得利用IP扫描或cmdnbtstat命令获取MAC地址。也可通过读取系统注册表值或WMI的数据库来获取。各位如有简易可行的好办法请留言告诉我。

 

posted on 2005-10-26 11:28 萌芽的叶子 阅读(531) 评论(0)  编辑 收藏 引用 所属分类: asp.net
只有注册用户登录后才能发表评论。

<2005年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(3)

随笔分类(115)

随笔档案(116)

文章分类(4)

相册

收藏夹(78)

.net中文社区

.net博客

.net英文社区

AJAX

ASP.NET 2.0

ASP.NET 学习

DataBase

ERP

E杂志

Html&Css

JavaScript

Microsoft

Open Sourse

SAP

WebCasts

WebServices

XML

其他

好友Blog

好文章连接

开发工具

控件

物流

职业经理人

设计模式

读书网站

非技术

项目管理

搜索

  •  

积分与排名

  • 积分 - 58509
  • 排名 - 106

最新评论

阅读排行榜

评论排行榜