Delphi实现限定软件使用时间的方法
我们经常看到很多网上下载的试用版软件,都有使用时间的限制,就其商业角度而言也是处于软件效益保护的一种措施,可以让用户免费试用一段时间,若满意就可以购买商业软件。本文所述实例代码功能就是如何为Delphi所编写的程序添加使用时间的限制功能,这里默认的时限为30天。
主要代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Registry, Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
registerTemp : TRegistry;
curDate : TDateTime;
begin
registerTemp := TRegistry.Create;
with registerTemp do
begin
RootKey := HKEY_LOCAL_MACHINE;
//判断是否初次运行程序
if OpenKey('Software\MySoftware',True) then
begin
if ReadBool('Runned') then
//不是第一次运行
begin
curDate := Date;
if (curDate-ReadTime('LastRunTime'))>=ReadInteger('Duration') then
begin
//当前的系统时间超出了使用期限
ShowMessage('试用版已到期');
exit;
end
else
begin
DeleteKey('LastRunTime');
WriteTime('LastRunTime',Date);
end;
end
else
begin
//初次运行程序
DeleteKey('Runned');
WriteBool('Runned',True);
//设置试用期限30天
WriteInteger('Duration',30);
//写入当前运行时间
WriteTime('LastRunTime',Date);
end;
end
else
begin
ShowMessage('Fails!');
end;
CloseKey;
end;
end;
end.
相关推荐
-
Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法
本文实例讲述了Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法.分享给大家供大家参考.具体实现方法如下: const WM_MouseEnter = $B013; WM_MouseLeave = $B014; type TfrmMain = class(TForm) . . Timer1: TTimer; procedure Timer1Timer(Sender: TObject); protected procedure WMMouseEnter(var Msg: TMessage)
-
Delphi编程常用快捷键大全
快捷键对于提高编程速度有着很重要的影响,本文汇总整理了Delphi常用的快捷键,供大家参考之用: Ctrl+PageUp将光标移至本屏的第一行,屏幕不滚动. Ctrl+PageDown将光标移至本屏的最后一行,屏幕不滚动. Ctrl+↓向下滚动屏幕,光标跟随滚动不出本屏. Ctrl+↑向上滚动屏幕,光标跟随滚动不出本屏. Ctrl+Shift+NUM在光标行设置最多九个临时标志号,对临时切换非常有用. 行的左边将出现一本书,封面有NUM,再按一次取消设置. Ctrl+NUM直接将光标跳到NUM处
-
Delphi实现窗口文字淡入淡出渐变效果的方法
本文所述实例为Dlephi实现的窗口渐变文字效果,文字可以不停的变化,颜色由浅入深,由清淅变模糊,文字渐变的时间可在代码中自己调整.主要实现代码如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer;
-
Delphi实现图像文本旋转特效完整实例代码
本文以实例讲述了Delphi实现图像文本旋转特效的解决方法,在本程序中利用的控件主要是Panel 控件.Image 控件.Edit 控件.Label 控件和Button 控件.本程序的关键是利用Delphi 的bmp_rotate()函数来实现旋转图像的功能.并巧妙地调用相关Windows API 函数来实现对文本的旋转特效. 完整的实例代码如下: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics,
-
Delphi实现获取磁盘空间大小的方法
本文所述Delphi实例用以获取指定的磁盘空间容量大小,检测磁盘大小,从combox中选择磁盘代号等功能.点击"检测驱动器"容量信息的按钮,就可以在下边显示出该磁盘的总空间大小以及要用容量的大小.读者可根据需求添加对应的Button与label控件. 主要程序代码如下所示: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtr
-
Delphi实现图片滚动切换的完整实例代码
本文以实例介绍了Delphi实现图片滚动切换的方法.该程序可以实现图像的滚动播出,并且通过本代码可控制窗口中的图像向上滚动,通过调节速度滚动条的值还可以调整滚动的速度:点击"停止"按钮,图像即停止滚动. 完整的功能代码如下: unit Unit1; interface uses Windows, Classes, Graphics, Forms, Controls, Menus, Dialogs, StdCtrls, ExtCtrls, SysUtils, ComCtrls, Butt
-
delphi简单判断程序30秒没有键盘和鼠标动作示例
以下为原代码: (这里给timer设置了1000ms)的参数,表示30秒的间隔!! 复制代码 代码如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Timer1:
-
Delphi实现限定软件使用时间的方法
我们经常看到很多网上下载的试用版软件,都有使用时间的限制,就其商业角度而言也是处于软件效益保护的一种措施,可以让用户免费试用一段时间,若满意就可以购买商业软件.本文所述实例代码功能就是如何为Delphi所编写的程序添加使用时间的限制功能,这里默认的时限为30天. 主要代码如下: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Registry, Dialogs;
-
Delphi使用大图标编译程序的方法
在Windows Vista. Windows7以上Windows系统中可以支持大图标显示了,但是Delphi编译出来的程序却只能显示32x32的图标,这使Delphi编译的程序看起来很不专业.下面就把Delphi编译大图标程序的方法分享一下. 要想使用大图标编译,首先要准备一个256x256的图标图片. 使用图标编辑软件,如IconWorkshop打开你的 ico文件,新建一个256x256的真彩色图标,将你的图片文件导入到该图标中.保存图标后,将图标文件拷贝到你的工程目录下,假设为maini
-
Delphi远程连接Mysql的实现方法
本文实例讲述了Delphi远程连接Mysql的实现方法,是Delphi数据库程序设计中非常重要的技巧.分享给大家供大家参考之用.具体方法如下: Delphi 通过ADOConnection链接远程Mysql数据库,要在安装软件的电脑上安装Mysql 驱动,没有的在百度下载,搜索mysql ODBC驱动就出来了 主要的链接代码如下: var srstring:string; srstring:='DRIVER={MySQL ODBC 3.51 Driver};SERVER='+Trim(SERVE
-
C++统计软件使用时间代码示例
复制代码 代码如下: // FileName: UseSoftTime.h #pragma once #include <vector> struct UseTime{ // 开始时间 SYSTEMTIME startTime; // 结束时间 SYSTEMTIME endTime; // 时间差 SYSTEMTIME subTime;}; struct UseSoftInfo{ // 软件名 CString SoftName; // 软件启动时间;如果在打
-
C#通过windows注册表获取软件清单的方法
本文实例讲述了C#通过windows注册表获取软件清单的方法.分享给大家供大家参考.具体如下: foreach (string SoftwareName in Object.SoftwareList()) { textBox.Text += SoftwareName + Environment.NewLine; } //////////////////////////////////////////////////////////////////////// /// <summary> ///
-
bootstrap datepicker限定可选时间范围实现方法
一.应用场景 实际应用中可能会根据日期字段查询某个日期范围内的数据,则需要对日期选择器可选时间进行限制, 如:开始时间不能大于结束时间,结束时间不能小于开始时间,此时就要为开始日期选择器和结束日期选择器动态的设置startDate和endDate的值. 二.相关知识点 1.bootstrap-datepicker的初始化 引入bootstrap-datepicker.js和bootstrap-datepicker.css bootstrap-datepicker配置参数的了解 2.boostra
-
使用Linux的alternatives命令替换选择软件的版本方法
上周在安装搜索引擎Elasticsearch时,要求安装比较新的java 版本,我选择了java 1.8.0,安装java 成功后使用java -version 发现使用的版本仍旧是1.6.0, 查询了一些资料,发现可以使用Linux的alternatives命令替换选择软件的版本. 说明: alternatives --install <link> <name> <path> <priority> 其中, install表示安装 link是符号链接 nam
-
WinForm通过操作注册表实现限制软件使用次数的方法
本文实例讲述了WinForm通过操作注册表实现限制软件使用次数的方法.分享给大家供大家参考,具体如下: 1.创建注册表文件: 打开记事本,输入一些内容: REGEDIT4 [HKEY_CURRENT_USER/Software/MyRegDataApp] "UseTime"="10" 保存为"RegData.reg" 2.创建winform项目 引用名称空间 using Microsoft.Win32 ; 在Form中激活load事件,并添加代码
-
C#实现读取注册表监控当前操作系统已安装软件变化的方法
本文实例讲述了C#实现读取注册表监控当前操作系统已安装软件变化的方法.分享给大家供大家参考.具体实现方法如下: private static HybridDictionary GetSoftName() { string strSoftName = string.Empty; HybridDictionary hdSoftName = new HybridDictionary(); /*对注册表节点"Software/Microsoft/Windows/CurrentVersion/Uninst
-
Linux上进行常用软件的配置方法
当拿到一个新的linux服务器的时候一般要经过以下5个配置 修改HOSTANME vi /etc/sysconfig/network 修改HOSTNAME和IP的映射 vi /etc/hosts 关闭防火墙 service iptables stop 关闭防火墙的开机启动 chkconfig iptables off 重启linux服务器 reboot 1.配置jdk 1.1.在h
随机推荐
- 当使用ckeditor控件时,需要校验输入内容是否为空的一种解决办法(转帖)
- 分享ORACLE SEQUENCE跳号总结
- jquery创建并行对象或者合并对象的实现代码
- Spring Boot定时任务的使用实例代码
- iOS中键盘 KeyBoard 上添加工具栏的方法
- 用JavaScript计算在UTF-8下存储字符串占用字节数
- jquery.pagination +JSON 动态无刷新分页实现代码
- C#操作txt文件,进行清空添加操作的小例子
- PHP将二维数组某一个字段相同的数组合并起来的方法
- PHP 实现浏览记录并按日期分组
- ThinkPHP分组下自定义标签库实例
- Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
- js实现带按钮的上下滚动效果
- 详解nginx 配置多个tomcat共用80端口
- 深入SQL截取字符串(substring与patindex)的详解
- jquery插件如何使用 jQuery操作Cookie插件使用介绍
- highchart数据源纵轴json内的值必须是int(详解)
- android开发教程之判断是手机还是平板的方法
- java使用Cookie判断用户登录情况的方法
- tensorflow构建BP神经网络的方法
