我以前写的一篇文章:http://blog.csdn.net/gisfarmer/archive/2009/01/09/3733153.aspx你可以借鉴下思路。我的商业软件都是这么做的。

解决方案 »

  1.   

    获取硬盘,CPU等硬件信息,再使用密匙算法生成用户号,通过用户号生成注册码。
    [DllImport("DiskID32.dll")]
    private static extern long DiskID32(ref byte DiskModel,ref byte DiskID);
    public string Encrypt(string strData,long lKey) 
    {
    string strRtn="";
    byte[] bData = System.Text.Encoding.Unicode.GetBytes(strData);
    char[] cData = System.Text.Encoding.Unicode.GetChars(bData); for(int i=0;i<cData.Length;i++)
    {
    strRtn+=(char)Encode((long)cData[i],lKey);
    }
    return strRtn;

    }