我想做登录及一些操作数据库的操作记录,要取客户端机器的名称,就是打开‘我的电脑’‘属性’里的计算机名,看网上一些都不好用,有谁做过?麻烦告诉一下。

解决方案 »

  1.   

    一般在局域网上好实现吧.web上,估计不稳定
    HttpRequest.UserHostName
      

  2.   


    string[] computername = System.Net.Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName.ToString().Split(new Char[] { '.' });
    computername[0].ToString();
      

  3.   


    程序在调试的机器上运行是 登录系统wch127.0.0.1
      其他局域网内的机器就是 登录系统137137.20.18.250怎么回事那?
      

  4.   

    本机测试,IP为127.0.0.1
    服务器, 应该是局域网内是实际的IP地址~不过,我没具体在服务器运行过~
    本地的运行,我得到的conputername是computername.domainname
      

  5.   

    System.Net.IPAddress ip = System.Net.IPAddress.Parse(Request.UserHostAddress);
    System.Net.IPHostEntry ihe = Dns.GetHostEntry(ip);
            
    String clientname = ihe.HostName;
      

  6.   


    这个也试了,就是不好使,ihe.HostName 显示的还是 IP 地址。
      

  7.   

         System.Net.IPAddress ip = System.Net.IPAddress.Parse("192.168.1.107");
            
                this.Text = System.Net.Dns.Resolve("192.168.1.100").HostName ;
      

  8.   

        this.Text = System.Net.Dns.Resolve("192.168.1.100").HostName ;
      

  9.   


    如果是 192.168.1.100 text也会返回 192.168.1.100
      

  10.   

    获取系统基本信息
    http://blog.163.com/kunming_wang/blog/static/13460649020102117219698/
      

  11.   

    1.获取操作系统版本(PC,PDA均支持)
    Environment.OSVersion2.获取应用程序当前目录(PC支持)
    Environment.CurrentDirectory3.列举本地硬盘驱动器(PC支持)
    string [] strDrives=Environment.GetLogicalDrives();
    foreach(string strDrive in strDrives)
    {
          
    }4.获取.Net Framework版本号(PC,PDA均支持)
    Environment.Version5.获取机器名(PC支持)
    EnvironMent.MachineName6.获取当前环境换行符(PC支持)
    Environment.NewLine7.获取处理器个数(PC支持)
    Environment.SystemDirectory8.获取当前登录用户(PC支持)
    Environment.UserName9.获取系统保留文件夹路径(PC,PDA均支持)
    Environment.GetFolderPath(Environment.SpecialFolder对象)
    Environment.SpecialFolder对象提供系统保留文件夹标识,例如:Environment.SpecialFolder.Desktop表示桌面文件夹的路径10.获取命令行参数(PC支持)
    string [] strParams=Environment.GetCommandLineArgs();
    foreach(string strParam in strParams)
    {
          
    }11.获取系统环境变量(PC支持)
    System.Collections.IDictionary dict=Environment.GetEnvironmentVariables();
    string str=dict["Path"].ToString();12.设置环境变量(PC支持)
    Environment.SetEnvironmentVariable("Path", "Test");13.获取域名(PC支持)
    string strUser = Environment.UserDomainName;14.获取截至到当前时间,操作系统启动的毫秒数(PDA,PC均支持)
    str = Environment.TickCount.ToString();15.映射到当前进程的物理内存数
    str = Environment.WorkingSet.ToString();16.退出应用程序
    Environment.Exit(0)
      

  12.   

    试试
    Request.ServerVariables["LOGON_USER"]
      

  13.   

    string[] computername = System.Net.Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName.ToString().Split(new Char[] { '.' });
    computername[0].ToString();
      

  14.   

    <title>WMI Scripting HTML</title>
            <script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">
                 document.forms[0].txtMACAddr.value=unescape(MACAddr);
                 document.forms[0].txtIPAddr.value=unescape(IPAddr);
                 document.forms[0].txtDNSName.value=unescape(sDNSName);
            </script>
        
            <script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">
                if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
                {
                    if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
                        MACAddr = objObject.MACAddress;
        
                    if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
                        IPAddr = objObject.IPAddress(0);
        
                    if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
                        sDNSName = objObject.DNSHostName;
                }
            </script>
        
        </head>
        <body>
            <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" VIEWASTEXT></object>
            <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo"></object>
        
            <script LANGUAGE="JScript">
                var service = locator.ConnectServer();
                var MACAddr ;
                var IPAddr ;
                var DomainAddr;
                var sDNSName;
                service.Security_.ImpersonationLevel=3;
                service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
            </script>
        
            <form method="POST" action="" id="formfoo" name="formbar">
                <input type="text"  name="txtMACAddr">
                <input type="text"  name="txtIPAddr">
                <input type="text"  name="txtDNSName">
            </form>
        </body>
    浏览器安全设置为ActiveX都改 成提示,运行提示时允许