Delphi:30 天试用

2024-04-10

如何为我的应用程序提供 30 天试用期?我需要允许用户仅使用应用程序 30 天。这几天怎么算?

我将第一个和最后一个日期保存在注册表中。但如果更改系统时间 - 则不会有任何保护。我需要数一下这30天。


您可能会想出一个需要互联网连接的系统,但如果没有用户无法篡改的东西,我看不到解决方案。

任何依赖于不受信任的元素(用户控制下的保护元素)的解决方案都是非常薄弱的​​。

我能想到的防止用户倒退的最简单方法是限制启动总数。

然而,尝试限制启动次数需要持久性——将数据保存到磁盘,也许加密并存储激活数据文件的修改版本——

想象一下,一旦应用程序启动,在一个独特的场合,即使重复使用相同的日期,您也将 30 天中的一天算作“已用完”。为了避免启动时使用超过 1 个“激活时间日”,用户必须允许您的软件在每次运行时重新保存其激活文件。

要阻止这种方法,用户只需要防止明显的日期发生变化,而且他们必须要么阻止您将任何内容存储到磁盘;要么阻止您将任何内容存储到磁盘。或者他们可以简单地跟踪和记录您的更改并使用监控进程或使用 VMWare 快照来撤销它们。对于VMWare快照,你无能为力。虚拟机的磁盘不受您的控制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi:30 天试用 的相关文章

  • Delphi - 如果没有创建类,为什么这个函数可以工作?

    考虑这个类 unit Unit2 interface type TTeste class private texto string public function soma a b integer string end implementa
  • Delphi 的内存分析工具?

    我建立了一个项目并运行它 然后在 Process Explorer 中查看它 结果发现它在启动时使用的 RAM 比我想象的要多 5 倍 现在 如果我的程序运行得太慢 我会将其连接到分析器并让它告诉我什么正在使用我的所有周期 有没有类似的工具
  • 任何第三方都可以从我的项目加载嵌入式资源吗?

    请参考我的一篇之前的问题 https stackoverflow com questions 14681364 issues passing data from dll to application 我问的是如何从 DLL 加载已编译的资源
  • Delphi 7 - 处理表单中嵌入框架的 MouseWheel 事件?

    你好 我有一个表格 里面有几个框架 对于某些框架 我希望滚动内容 或至少处理鼠标滚轮事件 我已经尝试过以下方法 只需为每个帧分配一个 OnMouseWheel 事件处理程序 重写父窗体的 MouseWheel 事件 procedure TF
  • Delphi:现场记录应用程序错误

    使用 Delphi 7 我想知道是否有一个免费组件可以在我的应用程序在远程站点运行时收集诊断信息并帮助我调试错误报告 也许它会记录每个选择的菜单项 单击的控件 文本输入等 也许它只是在崩溃时转储堆栈 也许它还有其他作用 我不介意添加代码 例
  • (发件人:TObject)

    发件人 TObject 是什么意思 如 procedure TForm1 Button1Click Sender TObject var s Integer begin end Sender 是对触发事件的组件的引用 在这种情况下 Send
  • 如何修复这个 delphi 7 编译错误 - “重复资源”

    我正在尝试编译我继承的 Delphi 7 项目 但收到此错误 错误 警告 重复资源 错误 类型 2 位图 ID 编辑 错误 文件 C 路径缩短 common CRGrid res 资源已保留 文件 c common raptree RES
  • 在 Delphi 中将对象转换为 OleVariant

    有没有办法在 OleVariant 中传递包装并解开 TObject 后代 我正在尝试跨自动化对象传递 TObject 我知道这不是一个好主意 但我没有更好的选择 该对象将在来自同一自动化 dll 的对象之间传递 如果这有什么区别的话 像这
  • 在网格上拖动时拖动图像更改

    我正在 StartDrag 上创建自定义 DragObject 的实例 procedure TForm1 GridStartDrag Sender TObject var DragObject TDragObject begin DragO
  • Windows 更新后 Active 设置为 False 时 TIdHttpServer 冻结

    我们有一个 Indy 版本 10 6 1 5235 TIdHttpServer 服务 多年来一直与 Delphi 2007 配合良好 在最新的 Windows 更新 KB4338815 和 KB4338830 之后 我们注意到当 TIdHt
  • VirtualStringTree 正确/推荐使用

    我已经使用 virtualstringtree 一段时间了 我将它用于两个不同的用途 第一个是用于选择 显示数据的普通树 第二个是作为网格来显示 SQL 语句的输出 我加载到树中的所有数据都来自数据库 对于树示例 我有一个 ParentId
  • 从不同的形式调用过程

    我正在使用 Lazarus 我有一个名为TForm1单元名称为 Unit 1 在这里我有一个名为mergeDATfile a shortint 这会产生一些东西 顺便说一句 我必须创建另一个名为TForm2里面有按钮 Button1 当它被
  • 在 ADO 查询 (mysql/MyConnector) 中使用参数

    今天我下载并安装了 MyConnector 这样我就可以通过 ADO 使用 Mysql 一切都安装好了 我可以与 ODBC 连接并从我的 delphi 环境进行连接 当我在运行时构建查询时 我收到一条错误消息 项目 Project1 exe
  • Vista 中的文本转语音

    我通过在 2000 NT XP 中使用 Delphi 创建 OLE 对象来做到这一点 如下所示 Voice CreateOLEObject SAPI SpVoice Voice speak 但这在 Vista 中不起作用 我怎样才能让我的程
  • 在 XMLDocument 中使用 DocumentElement 时发生访问冲突

    当我尝试使用时 我总是遇到访问冲突DocumentElement of the XMLDocument 我创造XMLDocument基于某些文件的存在 错误信息 项目project1 exe引发异常类EAccessViolation 消息
  • Delphi XE5 FireDAC 错误:无法加载供应商库 [libmysql.dll 或 libmysqld.dll]

    我在 Windows 7 64 位上使用 Delphi XE5 只是尝试 FireDAC 组件 我正在使用一个 TFDConnection 组件连接到本地 MySQL 数据库 v5 6 15 我已经将 libmysql dll 32位 v5
  • 在该对象调用的事件期间销毁该对象

    我有一个按钮 它的 OnClick 事件调用一个销毁按钮的过程 但随后 线程 想要返回到 OnClick 事件 并且我遇到了访问冲突 我完全被难住了 您需要在按钮的所有代码执行完毕后销毁该按钮 执行此操作的标准方法是将用户定义的消息发布到表
  • 如何为每个线程自动全局初始化/取消初始化某些内容?

    我有一个单位initialization and finalization部分 该单元包含一个复杂的对象 该对象在initialization并毁于finalization 但是 该对象还包含一个 ADO 连接 这使得跨线程使用它时出现问题
  • 如何在Delphi中实现人工神经网络? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想要一个人工神经网络 42 个输入神经元 168 个隐藏神经元 7个输出神经元 这个网络就是玩 连四子 的游戏 每场比赛结束时 网络
  • Delphi XE 和 OmniXML:使用 SelectNode()?

    我将以下 XML 片段作为一个更大的 XML 文件的一部分 我正在使用最新的 OmniXML 快照进行处理

随机推荐

  • 同态加密算法的实际应用?

    密码学中似乎发生了一些有趣的事情 第一个同态加密 http en wikipedia org wiki Homomorphic encryption最近出现了方案 解释 http www mail archive com cryptogra
  • 从 iOS4 在后台发布位置更新

    我可以从 iOS4 在后台向我的服务器发送位置更新吗 我想要获取用户位置更改并使用 Web 服务调用将其发布到服务器 这里的主要问题是 当应用程序在后台时是否可以调用网络服务或http post 绝对可以 而且您可能想要回顾一下之前的帖子
  • MVC 6 HttpPostedFileBase?

    我正在尝试使用上传图像MVC 6 但是 我找不到该课程HttpPostedFileBase 我已经检查过GitHub并且没有任何运气 有谁知道上传文件的正确方法MVC6 MVC 6 使用另一种机制来上传文件 您可以获取更多示例GitHub
  • Java中的数组修改(改变数组“分辨率”)

    我想创建一个函数来更改整数数组的大小 同时保持其 形状 目的是加快 FFT 的计算速度 它返回一个新的大小数组y每个元素是它在旧数组中 覆盖 的元素的平均值 例如 如果我有一个数组w有 3 个元素 并且想要创建另一个数组z有 2 个元素 第
  • 了解 Cloud Firestore 安全规则的限制

    我正在为我的 Firestore 数据库编写安全规则 并且我可能编写了太多检查并且授权自动失败 例如 特定路径的规则是 service cloud firestore match databases database documents m
  • 使用 TEmbeddedWB 或 TWebBrowser 检测外部内容

    我试图阻止由 TEmbeddedWB 或 TWebBrowser 或 TCppWebBrowser 加载的任何外部内容 我想阻止从互联网加载的任何内容 包括图像 javascript 外部 CSS 外部 embed 或 object 或 a
  • eclipse下同一个多模块maven项目的多个版本

    我想从事两个不同的版本 of the 相同的多模块 Maven 项目日食之下 不幸的是 当你在eclipse下导入多模块maven项目时 你可以改变父模块项目名称自己命名 以防止冲突 但是不是子模块项目名称 子模块作为根项目导入 以模块名称
  • 使用 GPS 获取 Android 手机的位置

    我还有一个关于基本 Android 编程的问题 如何访问 GPS 来获取运行应用程序的手机的当前位置 检索信息需要多长时间 在这种情况下 GPS 可能被禁用 如何再次启用 禁用它 必须在 andorid 清单中授予哪些权限 问候并感谢您的回
  • 移动结账时不存在 PayPal POST 付款变量

    我使用 JS 立即购买按钮进行付款 如下所示
  • Rails 中的订单确认页面

    我一直在尝试为我的 Rails 应用程序创建一个订单确认页面 但不太确定如何以一种轻松的方式完成它 上面有几个答案this https stackoverflow com questions 445293 ruby on rails con
  • 将静态库添加到 podspec

    我的 podspec 需要静态库 OpenSSL 为了方便起见 我将库与 Pod 一起运送 静态库包含 二进制文件 MyPod openssl bin libcrypto a and MyPod openssl bin libsll a 标
  • awk + ​​如何查找列中的重复项?

    如何查找列中的重复项 head countries lat long int code3 csv cat n 1 country latitude longitude name code 2 AD 42 546245 1 601554 An
  • Django transaction.commit_on_success 不回滚事务

    我正在尝试在 MySQL 上使用 Django 事务the commit on success装饰者 http docs djangoproject com en dev topics db transactions django db t
  • 创建反应应用程序不在开发或构建中加载CSS背景图像

    我无法加载某些背景图像 我对最初的创建反应应用程序进行了一些重大修改 我的文件夹结构现在如下 注意 我省略了一些文件和文件夹 如果您需要更多 请告诉我 App node modules src client build node modul
  • CSS/JavaScript:使元素成为最顶层的 z-index/最顶层的模态元素

    我想制作一个元素 例如 div 是页面的最顶层 我的假设是 我能做到这一点的唯一方法是指定该元素具有style z index 浏览器允许的最大值 int32 它是否正确 相反 是否有可能以某种方式获取元素的z index谁的最高 并使这个
  • Spring MVC Web 应用程序 - 从属性启用/禁用控制器

    我有一个在 Tomcat 中运行的 Web 应用程序 并使用 Spring MVC 来定义控制器和映射 我有以下课程 Controller api test public class TestController RequestMappin
  • 你如何处理NUL?

    当我们谈论 NULL 时 我有时会遇到与其他程序员的沟通问题 现在 NULL 可以是 空指针NUL 字符某种数据库中的空数据元素 NUL 似乎是最令人困惑的 它是 ASCII 字符 0x00 我倾向于在代码中使用 0 来表示它 我小组中的一
  • 如何获取 JavaScript 对象的类?

    我创建了一个 JavaScript 对象 但是如何确定该对象的类 我想要类似于Java的东西 getClass 方法 没有与 Java 完全对应的东西getClass http docs oracle com javase 7 docs a
  • 瞬态部分NameKeyPath & NSSortDescriptor NSFetchedResultsController

    我在核心数据中有一个任务列表 我使用 NSFetchedResultsController 将它们提取到 UITableView 中 我需要自定义订单中的自定义部分 OVERDUE ACTIVE ONGOING 推迟 完全的 为了确定任务应
  • Delphi:30 天试用

    如何为我的应用程序提供 30 天试用期 我需要允许用户仅使用应用程序 30 天 这几天怎么算 我将第一个和最后一个日期保存在注册表中 但如果更改系统时间 则不会有任何保护 我需要数一下这30天 您可能会想出一个需要互联网连接的系统 但如果没