我试图为我的应用程序创建一个基本的试用期方法,添加一个不可见的reg键,并拒绝用户删除该值,但我不知道如何像"SetACL.exe“工具那样拒绝用户权限。
这是我的密码:
Dim _0day As String = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("0")) ' MA==
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\MyApplication", _
"¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?", _
_0day, _
Microsoft.Win32.RegistryValueKind.String)
' Next step:
' Deny user acces (Delete/Modify) to that value (not to the entire key).更新:
尝试了这一点,但它什么也不做,它运行时没有错误,但不要拒绝权限。
Dim f As New RegistryPermission(RegistryPermissionAccess.NoAccess, "HKEY_CURRENT_USER\Software\MyApplication")
f.Deny()发布于 2013-04-30 18:24:53
正如建议的那样,为什么不创建一个密钥来表示您在用户机器上安装的应用程序是试用的,为什么不使用一个具有有效加密值的密钥来标识应用程序是许可的呢?这样,如果用户删除或修改了密钥,您的应用程序将以试用模式运行。
并确保加密的密钥值对用户的机器是唯一的,以便当密钥被复制到另一台机器时,它将无法工作。
发布于 2013-05-01 16:11:04
将注册表值与硬件Id结合起来,并对其进行加密。
使许可价值超过日期(如1/1/1900)。
https://stackoverflow.com/questions/16306197
复制相似问题