IntelliLock.Licensing.dll在VS中的16个使用方法

通过.NET库 "IntelliLock.Licensing.dll",你能够在运行时确定你的锁定软件的当前许可状态。你只需要在你的项目中引用这个库并访问相应的方法和属性。所有的方法和属性都应该是自我解释的。你不需要选择一个许可证文件。如果一个有效的许可证文件是可用的,它将被自动用来更新许可证状态。


 IntelliLock 是用于许可控制和应用程序的高级 100% 托管解决方案。.NET Reactor 提供基于本机代码保护的许可系统,而 IntelliLock 选择 100% 托管方式来应用许可和保护功能。这样就可以生成单个文件而无需其他文件。
请注意,"IntelliLock.Licensing.dll "的方法和属性只有在你保护你的软件后才会返回正确的值。在保护之后,"IntelliLock.Licensing.dll "库就不再需要了。
 

首先要引入程序集 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;elsereturn 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 IntelliLockstatic 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 IntelliLockstatic 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 wellnew 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();       }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习之模糊聚类(Fuzzy Clustering)附代码

概念 模糊聚类(Fuzzy Clustering)是一种聚类分析方法,与传统的硬聚类(Hard Clustering)不同,它允许样本属于多个聚类的成员关系程度不同。在模糊聚类中,每个数据点都被赋予属于每个聚类的隶属度(Membership Degree),而不是严格地归属于某一个聚类。这使得模糊聚类对…

基础拓扑-习题(下)

17.令 E E E是所有 x ∈ [ 0 , 1 ] x \in \left[ 0,1 \right] x∈[0,1]&#xff0c;其十进小数展开式中只有数码 4 4 4和 7 7 7者。 E E E是否可数&#xff1f; E E E是否在 [ 0 , 1 ] \left[ 0,1 \right] [0,1]中稠密&#xff1f; E E E是否紧&#xff1f; E E E是否完全 证明…

人工智能中两个较为常见的评估模型性能指标(EVS、MAE)

1、解释方差(EVS) 官方社区链接&#xff1a;sklearn.metrics.explained_variance_score-scikit-learn中文社区 explained_variance_score是一个用于评估回归模型性能的指标&#xff0c;它衡量的是模型预测值与实际值之间关系的密切程度。具体来说&#xff0c;解释方差分数表示…

springboot整合rabbitMQ系列10 利用插件实现延时消息

插件的安装&#xff0c;本文就不做描述了&#xff0c;插件安装后如下&#xff0c;就说明安装成功了1 添加pom依赖&#xff0c;yml配置就不讲了2 核心类&#xff0c;定义交换机的代码改成如下&#xff0c;其它的定义队列&#xff0c;设置绑定关系&#xff0c;设置死信等&#xf…

【面试经典 150 | 数组】Z 字形变换

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;二维矩阵模拟方法二&#xff1a;一次遍历 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于…

【CouchDB 与 PouchDB】

CouchDB是什么 CouchDB&#xff0c;全名为Apache CouchDB&#xff0c;是一个开源的NoSQL数据库&#xff0c;由Apache软件基金会管理。CouchDB的主要特点是使用JSON作为存储格式&#xff0c;使用JavaScript作为查询语言&#xff08;通过MapReduce函数&#xff09;&#xff0c;并…

QT中基于TCP的网络通信

QT中基于TCP的网络通信 QTcpServer公共成员函数信号 QTcpSocket公共成员函数信号 通信流程服务器端通信流程代码 客户端通信流程代码 使用Qt提供的类进行基于TCP的套接字通信需要用到两个类&#xff1a; QTcpServer&#xff1a;服务器类&#xff0c;用于监听客户端连接以及和客…

赛劲SEJINIGB零背隙滚轮齿条齿圈产品助力高精度运动平台

在高度精密化的工业时代&#xff0c;传统齿轮齿条系统所面临的背隙、摩擦粉尘、润滑等问题愈发凸显&#xff0c;这些问题不仅限制了设备的精度和稳定性&#xff0c;还对生产效率和产品质量造成严重影响。为此&#xff0c;赛劲SEJINIGB经过长期研发和技术积累&#xff0c;推出了…

消息队列 Kafka 入门篇(二) -- 安装启动与可视化工具

一、Windows 10 环境安装 1、下载与解压 首先&#xff0c;访问Apache Kafka的官方下载地址&#xff1a; https://kafka.apache.org/downloads 在本教程中&#xff0c;我们将使用kafka_2.13-2.8.1版本作为示例。下载完成后&#xff0c;解压到您的工作目录的合适位置&#xff…

ubuntu下chronyc tracking报文详解

在ubuntu下使用chronyc进行时钟的同步操作&#xff0c;下面是执行chrony tracking返回结果&#xff1a; Reference ID : AC1005E7 (ntpxx) Stratum : 12 Ref time (UTC) : Tue Apr 23 07:24:09 2024 System time : 0.000001974 seconds slow of NTP time Last …

如何在Windows 8/10/11上启用和禁用内置访客帐户?这里提供几种方法

你的Windows上有一个内置的guest帐户&#xff0c;可以帮助计算机上没有帐户的人登录。当然&#xff0c;你可以打开或关闭它。本文将介绍一些在Windows 8/10/11计算机中启用和禁用内置guest帐户的有用方法&#xff0c;供你更好地参考。 如何启用内置来宾帐户 在本地组策略中启…

Django中的事务

1 开启全局的事务 DATABASES {default: {ENGINE: django.db.backends.mysql, # 使用mysql数据库NAME: tracerbackend, # 要连接的数据库USER: root, # 链接数据库的用于名PASSWORD: 123456, # 链接数据库的用于名HOST: 192.168.1.200, # mysql服务监听的ipPORT: 3306, …

面向多源异质遥感影像地物分类的自监督预训练方法

源自&#xff1a;测绘学报 作者&#xff1a;薛志祥, 余旭初, 刘景正, 杨国鹏, 刘冰, 余岸竹, 周嘉男, 金上鸿 摘 要 近年来,深度学习改变了遥感图像处理的方法。由于标注高质量样本费时费力,标签样本数量不足的现实问题会严重影响深层神经网络模型的性能。为解决这一突出矛盾…

Linux防火墙相关命令以及ip白名单配置

Linux防火墙相关命令以及ip白名单配置 firewall防火墙基础命令查看防火墙的服务状态查看防火墙的状态服务的开启、关闭和重启查看防火墙规则端口的查询、开放和关闭重启防火墙 防火墙白名单配置部分参数介绍 firewall防火墙基础命令 查看防火墙的服务状态 systemctl status f…

使用 vllm 本地部署 cohere 的 command-r

使用 vllm 本地部署 cohere 的 command-r 0. 引言1. 安装 vllm2. 本地部署 cohere 的 command-r3. 使用 cohere 的 command-r 0. 引言 此文章主要介绍使用 使用 vllm 本地部署 cohere 的 command-r。 1. 安装 vllm 创建虚拟环境&#xff0c; conda create -n myvllm python…

nn.Embedding, nn.Parameter,nn.linear的区别

还没总结&#xff1a; 先贴上参考帖子&#xff1a; Difference between Embedding formulations Issue #60 lucidrains/vit-pytorch GitHub https://audreywongkg.medium.com/pytorch-nn-parameter-vs-nn-linear-2131e319e463 Differences between nn.Embedding and nn.…

网络安全之CSRFSSRF漏洞(上篇)(技术进阶)

目录 一&#xff0c;CSRF篇 二&#xff0c;认识什么是CSRF 三&#xff0c;实现CSRF攻击的前提 四&#xff0c;实战演练 【1】案例1 【2】案例2 【3】案例3 【4】案例4&#xff08;metinfo&#xff09; 一&#xff0c;CSRF篇 二&#xff0c;认识什么是CSRF CSRF&#x…

Diff算法深度剖析:优化DOM操作的关键

React的Diff算法是用于比较新旧虚拟DOM树&#xff0c;以找出需要进行更新的部分。它通过遍历树的节点&#xff0c;并比较节点属性和内容&#xff0c;来确定节点是否需要进行更新。 React的Diff算法采用了一些优化策略&#xff0c;以减少不必要的DOM更新&#xff0c;提高性能。…

程序员过了35岁没人要?“这行越老越香”

程序员35岁失业&#xff1f;参加完OceanBase开发者大会&#xff0c;我又悟了&#xff01; 周六参加了OceanBase2024 开发者大会的现场&#xff0c;来之前我其实挺忐忑的&#xff0c;我觉得一个数据库产品的发布会&#xff0c;能有什么新鲜的东西&#xff1f; 踏入酒店的那一刻&…

vue 动态改变css样式

文章目录 问题描述 问题描述 大家好&#xff01;今天是2024年4月26日|农历三月十六&#xff0c;时间过得好快&#xff0c;今天这博文主要动态改变css样式&#xff0c;具体实现效果如下&#xff1a; 在data里面声明一个isShow:true属性&#xff0c;通过isShow显示不同的图片 isS…