引言: 一、概述
软件作为一种人类智力劳动成果的一种表现形式,融会了设计者和开发者辛勤的劳动和汗水,然而,由于用户观念上的差异和盗版软件的泛滥,软件开发者的权益往往得不到有效的保护,因此,作为必要的手段-----软件的自身保护也就在特定的环境下被重视起来。
摘要:陈旭波
“邮件特快专递”这个词现在已经是被广大的网民所熟知了,它就好比是网络上的ems,能够直接把邮件送到对方的邮箱中,邮件发送完毕后,对方就可以立刻收到。foxmail在其最新的4.0版本中也特别新增了该功能,作为一名编程爱好者,你是不是也想知道如何编程实现该功能呢?那就随本文一起揭开“邮件特快专递”的神秘面纱:
一、实现原理
在outlook express中,可通过查看邮件的属性得到......
摘要:检查声卡是否安装
uses mmsystem;
...
function soundkarte:boolean;
begin
result := waveoutgetnumdevs >0;
end;
检测声卡存在
如果你是做一些多媒体播放器之类的程序时,为了完善系统的容错性,就必须用到一些检测系统的功能,其中检测声卡是否存在就是一个问题,下列程序帮你忙,首先需要在uses部分加入mmsyst......
在Delphi中编制软件版权保护控件一.概述
软件作为一种人类智力劳动成果的一种表现形式,融会了设计者与开发者辛勤的劳动与汗水,然而,由于用户观念上的差异与盗版软件的泛滥,软件开发者的权益往往得不到有效的保护,因此,作为必要的手段-----软件的自身保护也就在特定的环境下被重视起来. 【程序编程相关:
Delphi开发中Windows API】 【推荐阅读:
Delphi开发Web Server程序】
然而,正所谓,“魔高一尺,道高一丈”,保护与破解的矛盾关系在始终持续着,要想找到一种万能的保护方法,却也不是那么简单的事.但是,如果开发者使用的保护手段连一般用户都能破解的话(如:修改系统日期),这样的保护则显然达不到保护软件版权的目的. 【扩展信息:
Delphi开发Web Server程序】
基于此,笔者利用delphi5.0面向对象的特性,设计开发了一个实用的版权保护控件,以为程序开发者提供一种简易的软件保护手段.
二.实现方法
1.在delphi5.0中新建一个单元文件,书写代码如下,保存:
unit regobj;
interface
uses
windows, messages, sysutils, classes, forms;
type
tregobj = class
private
fserial: string; //主板序列号
fkey: string; //密码
fmaxtimes: integer; //最大运行次数
fcompany: string; //公司名称
femail: string; //联系用的电子邮件
protected
procedure setserial; //取得主扳的序列号
procedure getkey; //从用户序列号文件中读取序列号
function gettimes: integer; //从文件中读取程序的运行次数
function checkkey: boolean; //检查序列号与密码是否匹配的函数
public
constructor create;
function execute: boolean; //运行对象方法
published
property company: string read fcompany write fcompany;
property maxtimes: integer read fmaxtimes write fmaxtimes; ...
下一页 摘要:文/宋爽
本例中tregistry是关键类,delphi 4.0不能自行加入,需在uses部分手工加入“registry”,通过其方法“readstring”和“writestring”来读出和写入字符,亦可通过其方法“readdate”和“writedate”来读出和写入日期。
程序第一次运行就写入其运行时间,应用期限为30天,超过30天就不再运行。全局变量noregistry、sp......