提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:何跃|2021-08-31 10:48:42.510|阅读 340 次
概述:通过.NET库 "IntelliLock.Licensing.dll",你能够在运行时确定你的锁定软件的当前许可状态。你只需要在你的项目中引用这个库并访问相应的方法和属性。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
首先要引入程序集 using IntelliLock.Licensing;
1. 检查授权是否有效
/*** Check if a valid license file is available. ***/
public bool IsValidLicenseAvailable()
{
return (EvaluationMonitor.CurrentLicense.LicenseStatus == IntelliLock.Licensing.LicenseStatus.Licensed);
}
2. 读取授权文件中的信息
/*** Read additonal license information from a license file ***/
public void ReadAdditonalLicenseInformation()
{
/* Check first if a valid license file is found */
if (EvaluationMonitor.CurrentLicense.LicenseStatus == IntelliLock.Licensing.LicenseStatus.Licensed)
{
/* Read additional license information */
for (int i = 0; i < EvaluationMonitor.CurrentLicense.LicenseInformation.Count; i++)
{
string key = EvaluationMonitor.CurrentLicense.LicenseInformation.GetKey(i).ToString();
string value = EvaluationMonitor.CurrentLicense.LicenseInformation.GetByIndex(i).ToString();
}
}
}
3. 检查过期锁状态
/*** Check the license status of the Expiration Days Lock ***/
public void CheckExpirationDaysLock()
{
bool lock_enabled = EvaluationMonitor.CurrentLicense.ExpirationDays_Enabled;
int days = EvaluationMonitor.CurrentLicense.ExpirationDays;
int days_current = EvaluationMonitor.CurrentLicense.ExpirationDays_Current;
}
4. 依然是检查过期锁状态
/*** Check the license status of the Expiration Date Lock ***/
public void CheckExpirationDateLock()
{
bool lock_enabled = EvaluationMonitor.CurrentLicense.ExpirationDate_Enabled;
System.DateTime expiration_date = EvaluationMonitor.CurrentLicense.ExpirationDate;
}
5. 检查执行锁状态
/*** Check the license status of the Executions Lock ***/
public void CheckExecutionsLock()
{
bool lock_enabled = EvaluationMonitor.CurrentLicense.Executions_Enabled;
int max_executions = EvaluationMonitor.CurrentLicense.Executions;
int current_executions = EvaluationMonitor.CurrentLicense.Executions_Current;
}
6. 检查实例锁状态
/*** Check the license status of the Instances Lock ***/
public void CheckNumberOfInstancesLock()
{
bool lock_enabled = EvaluationMonitor.CurrentLicense.Instances_Enabled;
int max_instances = EvaluationMonitor.CurrentLicense.Instances;
}
7. 检查硬件锁状态
/*** Check the license status of Hardware Lock ***/
public void CheckHardwareLock()
{
bool lock_enabled = EvaluationMonitor.CurrentLicense.HardwareLock_Enabled;
if (lock_enabled)
{
/* Get Hardware ID stored in the license file */
string lic_hardware_id = EvaluationMonitor.CurrentLicense.HardwareID;
}
}
8. 获得硬件ID
/*** Get Hardware ID of the current machine ***/
public string GetHardwareID()
{
return HardwareID.GetHardwareID(true, true, false, true, true, false);
}
9. 对比硬件锁
/*** Compare current Hardware ID with Hardware ID stored in License File ***/
public bool CompareHardwareID()
{
if (HardwareID.GetHardwareID(true, true, false, true, true, false) == EvaluationMonitor.CurrentLicense.HardwareID)
return true;
else
return false;
}
10. 作废授权
/*** Invalidate the license. Please note, your protected software does not accept a license file anymore! ***/
public void InvalidateLicense()
{
string confirmation_code = License_DeActivator.DeactivateLicense();
}
11. 重新激活授权
/*** Reactivate an invalidated license. ***/
public bool ReactivateLicense(string reactivation_code)
{
return License_DeActivator.ReactivateLicense(reactivation_code);
}
12. 使用文件名手动加载一个许可证
/*** Load the license. ***/
public void LoadLicense(string filename)
{
EvaluationMonitor.LoadLicense(filename);
}
13. 使用byte[]加载许可证
/*** Load the license. ***/
public void LoadLicense(byte[] license)
{
EvaluationMonitor.LoadLicense(license);
}
14. 获取加载的许可证(如果有的话),作为byte[] 。
/*** Get the license. ***/
public byte[] GetLicense()
{
return EvaluationMonitor.GetCurrentLicenseAsByteArray();
}
15. 异步检查许可证状态以防止启动延迟
/*** Check the license. ***/
class Program
{
// To automatically check the license asynchronously the option "Asynchronous License Check" must be enabled in IntelliLock
static void Main(string[] args)
{
IntelliLock.Licensing.EvaluationMonitor.LicenseCheckFinished += () =>
{
Console.WriteLine(IntelliLock.Licensing.HardwareID.GetHardwareID(false, true, false, true, true, false));
Console.WriteLine(IntelliLock.Licensing.CurrentLicense.LicenseStatus.ToString());
};
Console.ReadLine();
}
}
或者这样写也可以
/*** Check the license. ***/
class Program
{
// To automatically check the license asynchronously the option "Asynchronous License Check" must be enabled in IntelliLock
static void Main(string[] args)
{
string licenseFile = @"C:\license.license";
// To ensure SDK method calls doesn't block/delay the control flow the SDK method LoadLicense(...) should be run in asynchronous context (new Action()..) as well
new Action(() =>
{
IntelliLock.Licensing.EvaluationMonitor.LoadLicense(File.ReadAllBytes(licenseFile));
IntelliLock.Licensing.EvaluationMonitor.LicenseCheckFinished += () =>
{
Console.WriteLine(IntelliLock.Licensing.HardwareID.GetHardwareID(false, true, false, true, true, false));
Console.WriteLine(IntelliLock.Licensing.CurrentLicense.LicenseStatus.ToString());
};
}).BeginInvoke(null, null);
Console.WriteLine("Due to asynchronous control flow this line is displayed first");
Console.ReadLine();
}
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn




在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
本文将为大家介绍如何使用DevExpress WinForms数据网格控件实现摘要文本的格式化,欢迎下载最新版组件体验!
Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。
在嵌入式开发中,尤其是基于ARM架构的安全关键领域,单元测试是验证代码在目标硬件上运行时行为正确性的关键环节,对于保障最终产品的可靠性至关重要。下面将介绍如何利用Parasoft C/C++test开展单元测试,包括配置、执行及解决可能遇到的许可证问题,完成从静态检查到动态运行的完整测试闭环。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站