希望做过的帮帮忙,写清楚一些,本人初学者!我QQ454947356,多谢帮忙啊!

解决方案 »

  1.   

    有没有具体要求?
    没有要求的话,用GUID好了,这个最简单了
      

  2.   

    方法一、获取客户端硬盘号、CPU序列号、MAC地址,它们三个排列组合一下,然后把组合后字符串再加密。
    方法二、算号,可以利用windows计算器算。
    方法三、……附:
    /// <summary>
        /// 获得cpu序列号,硬盘序列号,MAC地址
        /// </summary>
        /// <returns></returns>
        private string[] GetMoc()
        {
            string[] str = new string[3];
            ManagementClass mcCpu = new ManagementClass("win32_Processor");
            ManagementObjectCollection mocCpu = mcCpu.GetInstances();
            foreach (ManagementObject m in mocCpu)
            {
                str[0] = m["ProcessorId"].ToString();
            }        ManagementClass mcHD = new ManagementClass("win32_logicaldisk");
            ManagementObjectCollection mocHD = mcHD.GetInstances();
            foreach (ManagementObject m in mocHD)
            {
                if (m["DeviceID"].ToString() == "C:")
                {
                    str[1] = m["VolumeSerialNumber"].ToString();
                    break;
                }
            }        ManagementClass mcMAC = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection mocMAC = mcMAC.GetInstances();
            foreach (ManagementObject m in mocMAC)
            {
                if ((bool)m["IPEnabled"])
                {
                    str[2] = m["MacAddress"].ToString();
                    break;
                }
            }
            return str;
        } 
      

  3.   

    cpu序列号,硬盘序列号,MAC地址
    组合成序列号 再加点自己的函数基本可用了
      

  4.   

    获取客户端硬盘号、CPU序列号、MAC地址,它们三个排列组合一下,用数据库表来存放该组合字符串
    用户使用软件的时候(即软件运行的时候),首先检查数据库中有没有该组合字符串,如果没有,说明用户是第一次使用该软件,将组合字符串及第一次使用的日期保存在数据库中去;如果有,则说明以前已经用过该软件了,比如是试用一个月,然后你就判断当前日期与第一次使用日期的差值是否到一个月,到了一个月就提示用户需要冲值,没到则直接进主界面继续使用该软件
      

  5.   

    通过rsa加密
    http://blog.csdn.net/llwinnner/archive/2009/03/21/4011936.aspx
      

  6.   

    http://download.csdn.net/source/1815550
    包括硬盘号,MAC地址,CPU信息等
    Dim strDiskID As String
    Dim hdd As HardDiskInfo.HardDiskInfo
    hdd = HardDiskInfo.AtapiDevice.GetHddInfo(0)
    strDiskID = hdd.SerialNumber
    Return strDiskID