RaUI/Source/ryControls/Sheng.Winform.Controls/License/SEControlLicenseProvider.cs
鑫Intel 8b41f58f5c ### 2021-07-01更新
------
#### ryControlsV4    V3.0.2107.0101
- *.[新增]新增Sheng.Winform.Controls部分控件。

#### RyWeb    V3.0.2107.0101
- *.[新增]QuickWeb新增引用页设置。
#### MyDbV4    V3.0.2107.0101
- *.[新增]支持忽略大小写的替换功能。
2021-07-04 09:41:31 +08:00

74 lines
2.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Microsoft.Win32;
namespace Sheng.Winform.Controls
{
class SEControlLicenseProvider : LicenseProvider
{
/// <summary>
/// 0:未验证
/// 1:验证失败
/// 2:验证通过
/// </summary>
//private static ushort _isValid = 0;
public bool IsValid
{
get
{
//TODO:SEControlLicenseProvider
return true;
// using (RegistryKey registryKey =
// Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Sheng.SIMBE\SEControl"))
// {
// object license = registryKey.GetValue("License");
// if (license == null)
// {
// _isValid = 1;
// }
// else
// {
// if (license.ToString() == "sheng")
// _isValid = 2;
// else
// _isValid = 1;
// }
// }
//return _isValid == 2 ? true : false;
}
}
/// <summary>
/// 获取组件的实例或类型的许可证(如果已给定上下文并确定拒绝许可证是否引发异常)。
/// </summary>
/// <param name="context"></param>
/// <param name="type"></param>
/// <param name="instance"></param>
/// <param name="allowExceptions"></param>
/// <returns></returns>
public override License GetLicense(LicenseContext context, Type type, object instance, bool allowExceptions)
{
if (context.UsageMode == LicenseUsageMode.Runtime)
{
return new SEControlLicense(type);
}
else if (context.UsageMode == LicenseUsageMode.Designtime)
{
// 限制编辑模式下的许可证(所谓的开发许可证),在这里添加相应的逻辑
if (!IsValid)
throw new LicenseException(type);
else
return new SEControlLicense(type);
}
return (null);
}
}
}