加密保护软件 WinLicense 注册常见问题(一):许可证

1,308 阅读2分钟

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

接下来我整理的WinLicens问题集主要是在使用WinLicens过程中关于“注册”的相关问题。

1.我想从我的Custom Messages DLL(自定义消息DLL)中读取注册信息(用户名)。我知道我可以解析消息字符串,但问题是我正在使用UNICODE但是这个字符串被当作ANSI来传递。怎么办?

当你的应用程序存在有效许可证时,你可以调用Widows API GetEnvironmentVariable来检索用户许可证信息(名称,公司,自定义数据)。如果你已经创建UNICODE许可证,则应调用GetEnvironmentVariableW。

如果受保护应用程序存在有效许可证,则以下环境变量已被定义:

  • WLRegistrationUserName
  • WLRegistrationUserCompany
  • WLRegistrationUserCustomData

你可以从应用程序内部或你的Custom Messages DLL(或“WL DLL Control”)中读取这些环境变量。

2.我想在“License Manager(许可证管理器)”中指定生成的SmartKey的输出文件名。可以吗?

你可以编辑Winlicense.ini文件并指定默认文本键和SmarKey文件的名称。这些设置需要在“[License Manager]”部分下进行。例:

[License Manager]

DynSmartKeyFileName = MyDynSmartKey.txt

SmartKeyFileName = MyStaticSmartKey.txt

TextKeyFileName = MyTextKey.txt

3.我希望我的受保护软件在运行时请求许可证。如果没有许可证,应用程序便不能启动。Winlicense可以实现此要求吗?

可以,只需按照下面的步骤操作:

  1. 在“Registration panel(注册面板)”中,你必须选中“This application can be registered...(此应用程序可以注册...)”选项。
  2. 选择你希望的应用程序密钥类型(文件许可,注册许可,SmartKey ...)
  3. 选中“Application only runs when Registered (Requires a key to run)”选项

设置完成后,如果你启动应用程序并且没有许可证密钥,受保护的应用程序将显示“MsgID34:License required to run”(在“Customized Dialog”面板中)。你可以将此消息修改成你想表达的。 如果你想显示自己的表单或对话框,可以使用“Control Messages from external DLL(从外部DLL控制消息)”功能(在“Customized Dialog”面板中)。

4.在WinLicense的许可证管理器中,我希望每次粘贴(ctrl-v)硬件ID时,都会自动检查以进行验证。可以实现吗?

可以实现的。你需要编辑“Winlicense.ini”文件,在“[License Manager]”部分下,添加以下行:

AutomaticHardwareIDvalidation = yes

后续还会整理相关问题,欢迎收藏~

                                            【下载WinLicense最新试用版