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

通过.NET库 “IntelliLock.Licensing.dll”,你能够在运行时确定你的锁定软件的当前许可状态。你只需要在你的项目中引用这个库并访问相应的方法和属性。

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

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月27日
下一篇 2021年7月27日

相关推荐

发表回复

登录后才能评论