【FAQ】加密保护软件 WinLicense 注册常见问题解答(五)

WinLicense具有和Themida同级别的保护功能以及授权管理功能。软件功能强大,使用灵活,开发者可以安全地发布软件的试用版和完全版。

下载WinLicense最新试用版

Q8:如何将当前软件的名称指定为许可文件名?

A:请转到“Registration”面板,使用常量“%SOFT_NAME%”作为“Single File”编辑框中许可证密钥名称的一部分。


Q9:哪些功能可以检查应用程序是否已注册?

A:请按照以下步骤检查你的应用程序状态以及可能的日期/执行日期/剩余日期。

1)检查你的应用程序是处于注册模式还是试用模式(使用WLRegGetStatus功能);

2)如果WLRegGetStatus返回应用程序处于试用模式,则检查试用状态(调用WLTrialGetStatus);

  • 如果WLTrialGetStatus返回试用处于有效状态,你可以调用函数来了解试用天数,执行情况(WLTrialDaysLeft,WLTrialExecutionsLeft等);

3)如果WLRegGetStatus返回应用程序已注册,你可以调用许可证到期功能,以防你有许可证到期(WLRegDaysLeft,WLRegExecutionsLeft等)。

总结一下,在不知道应用程序状态的情况下(通过WLRegGetStatus和WLTrialGetStatus),你不应该直接调用函数来获取剩余天数/执行日期。


Q10:当我调用函数WLRegGetLicenseInfo时,它在许可证未过期时正常工作。但是,当许可证到期后,用户名/公司会填充垃圾数据。怎么回事?

A:请注意,这不是一个bug,而是WinLicense中许可系统的当前设计。许可证到期后,应用程序将进入试用模式。由于你的许可证已过期,应用程序将处于试用模式,因此WLRegGetLicenseInfo函数将返回FALSE, 因为没有安装有效且未过期的许可证。所以,当许可证到期时,你将无法获得许可证信息。

你应该调用函数WLRegGetStatus来了解你的应用程序是否使用有效且未过期的许可证进行了注册。当知道应用程序已正确注册时,你可以调用函数WLRegGetLicenseInfo来获取许可证信息。

要在许可证过期后显示注册信息,你可以在注册(但未过期)应用程序时将许可证信息存储在系统中的任何位置,以便以后阅读。如果要以加密方式存储信息, 可以使用函数“WLTrialStringRead / WLTrialStringWrite”。


Q11:我想使用WLRegDisableCurrentKey将许可证标记为被盗,但不知道该怎么操作。应用程序可与我的Web服务器通信以检查许可证是否被盗。

A:请注意,函数WLRegDisableCurrentKey禁用当前计算机中安装的许可证。

如果应用程序连接到Web服务器,你可以实现以下内容:

1)应用程序启动后会向你的服务器发送注册信息(WLRegGetLicenseInfo);

2)如果许可证状态正常(未被盗),你的服务器会回复;

3)如果服务器报告许可证被盗,则服务器会向你的应用程序返回特殊代码(如ExitCode = stolen_lic);

4)如果你的应用程序收到了“ExitCode = stolen_lic”,则应用程序会执行“WLRegDisableCurrentKey”,并且当前计算机将禁止该许可证。

未完待续~

 

你可能感兴趣的:(使用教程,WinLicense,加密/解密,授权管理,代码保护,软件安全)