思路如下:用C#做一个客户端的程序(如取得MAC地址),在客户端安装,然后通过网页(先判断是否安装程序,没有安装则安装)再调用这个程序(如取得MAC地址)回答正确的开贴再加分

解决方案 »

  1.   

    using System;
    using System.Management;public class MAC
    {
        public static void Main()
        {
            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");  
            ManagementObjectCollection moc = mc.GetInstances();  
            foreach(ManagementObject mo in moc)  
            { 
                if((bool)mo["IPEnabled"] == true)  
                    Console.WriteLine("MAC address\t{0}", mo["MacAddress"].ToString());  
            }  
            ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");  
            disk.Get();  
            Console.WriteLine("Volume Serial Number: " + disk.GetPropertyValue("VolumeSerialNumber").ToString()); 
        }
    }
      

  2.   

    http://blog.joycode.com/liuhuimiao/archive/2003/12/23/9754.aspx
      

  3.   

    System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");  
    System.Management.ManagementObjectCollection moc = mc.GetInstances();  
    foreach(System.Management.ManagementObject mo in moc)  

    if((bool)mo["IPEnabled"] == true)  
    MessageBox.Show("网卡="+ mo["MacAddress"].ToString());  
    }
    ______________________________________________
    http://freehost26.websamba.com/zf0924/csdn.rar 
    (2005年07月01日 11时12分54秒)
      

  4.   

    VB.NET中得到计算机硬件信息
    http://dotnet.aspx.cc/ShowDetail.aspx?id=6977HLMY-ELPN-4KIR-BI89-7YS2LNENT5HR
      

  5.   

    好..强烈支持upupup--------------------呵呵...
      

  6.   

    你知道怎么读mac,那我就不多说了你的意思是,让客户端判断在客户端是否安装了特定的程序,然后在执行它
    这个太难了如果你只是要读客户端的mac的话,你可以把读mac的程序写成ocx插件,然后用<object>放到网页上就可以了
    估计客户是想要限制客户端的用户数吧,你可以给个其他的解决方案,不要让他设计你来开发,客户一般的思路都是狗屁,不要听他的b/s一般不绑定客户端的,可以限制可使用的帐户数,并保证客户唯一登陆即可!妄猜测楼主所需,希望能有所帮助!!!
      

  7.   

    确是很有帮助啊,要问一下怎么来做ocx插件呢
      

  8.   

    可以不使用插件来获得客户端mac地址。
    public class MAC
    {
    public static string GetNetCardAddress2(string strIp)
    {
    string mac = "";System.Diagnostics.Process process = new System.Diagnostics.Process();
    process.StartInfo.FileName = "nbtstat";
    process.StartInfo.Arguments = "-a "+strIp;
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.CreateNoWindow = true;
    process.StartInfo.RedirectStandardOutput = true;process.Start();string output = process.StandardOutput.ReadToEnd();
    int length = output.IndexOf("MAC Address = ");if(length>0)
    {
    mac = output.Substring(length+14, 17);
    }process.WaitForExit();return mac.Replace("-", "").Trim();
    }
    static void Main(string[] args)
    {
    System.Console.WriteLine(GetNetCardAddress2(args[0]));
    }
    }