如何在Windows应用程序中实现电子注册功能
2008-11-13 19:28:28 来源:WEB开发网目前,国内软件销售过程中采用了一种新的方式:开发者根据计算机中不同的硬件配置标志直接在应用程序中设置密钥,限制程序的使用次数或者限制某些先进功能的使用,然后将受限制的应用程序无偿提供给用户。用户在试用一段时间之后如果觉得很满意,就可以将安装程序提取的硬件配置解密密钥或已经采集机器配置情况的应用程序提供给开发者,并花少量费用购买自己机器中的电子注册密钥,从而能够充分利用应用程序的所有功能。
在应用程序中利用电子注册来限制应用程序的部分功能,这样既可以让用户先试用然后再决定是否购买应用程序,又保护了开发者的合法劳动成果,减少了用户与开发者之间的不必要的中间环节。开发者直接得到用户购买软件的费用,真正地体现了开发者所创造的价值;用户在试用软件之后再决定是否购买,从而使得用户能够得到称心如意、物有所值的软件。因此,不通过中间环节这种销售方式降低了软件的成本,使开发者和用户双方都受益。同时,这种方式还可以使得开发者能够直接获得用户的反馈信息,促使开发者开发出功能更加完善的应用程序。
然而,要想在应用程序中实现电子注册功能决不是件容易的事情,尤其是在Windows 平台推出以后,要想实现一个跨平台的应用程序电子注册功能,则要求开发者应具有丰富的编程技巧和实际开发经验以及广阔的开发视野。笔者通过实践探索,终于成功地实现了跨越DOS、Windows 3.X和Windows 95平台的应用程序电子注册功能。下面将阐述其实现原理及技巧。
一、注册密钥点的选择与生成
实现应用程序的电子注册功能,最关键的问题是采集硬件配置中的密钥点。在DOS 系统下,可以通过硬盘端口1F6H和1F7H直接读取硬盘的序列号等作为密钥算法的数据,因为每块硬盘的型号、版本号和序列号均不同,只要用户提供上述内容,利用这种方法生成的注册密钥在每台计算机中均不同,从而实现电子注册的功能。著名的字表处理软件CCED 5.18中采用的就是类似的方法。虽然这种方法在绝大数场合下很有效,甚至可以在Windows 3.X系统和Windows 95系统的兼容模式下通过,但在最高性能配置的Windows 95保护模式下却行不通,原因是Windows 95保护模式下不允许通过端口方式读取硬盘类型参数,所以利用这种方法无法实现跨平台的通用电子注册功能。
更多精彩
赞助商链接