在一些公共机房,常有这样的烦恼:一些明显个性化的软件由于没有任何的保护措施,软件的一些个性化设置常常今天您刚设置好,第二天发现被别人改得一塌糊涂,影响心情事小,浪费时间事大,有时甚至威胁到软件安全性问题。比如,用过Internet Mail 的朋友都知道,由于它不具有多账号设置功能,这样在公共机房每次用InternetMail 都得进选项栏进行设置,非常麻烦。这里介绍一种非常简单的软件锁的制作,希望能够抛砖引玉,引来大家对这一问题的探讨。
?在Windows 系统下,一般用户都是通过点击桌面上的图标或者菜单上的图标来对软件进行操作,这些图标在Windows 中又称为快捷方式。基于这一点,我们设想把这些图标或者快捷方式连接到自制的软件锁上,在自制软件锁中加上密码确认,密码确认通过的,就通过函数调用原软件,确认无法通过的,就不调用原软件。这样,就在用户和软件之间加上一把锁。下面介绍通过Delphi 4编程语言制作软件锁的过程。
?1、启动Delphi 4,新建应用程序(New application),选择工程(Project)菜单下从工程中移除(Remove fromproject)项,去掉新建应用程序时系统默认的表单1(Form1)。然后,选择文件(File)菜单下新建(New)项,在跳出的新建项(NewItem)对话框中选择对话框(Dialogs)项,在对话框项中选择密码对话框(Password dialog),按动确定(Ok)按钮,这样出现一张密码输入样式的表单。保存全部(Saveall),保存单元(Unit)为Untfile―lock,保存应用程序为Filelock。
?2、选择Passworddlg 表单,在对象属性框(Object Inspector)中,设Passworddlg 表单的Caption 属性为:Password ;设其-BorderIcons→bi Mini mize 和bi Maxi mize 为False。?
3、双击表单上的Cancel 按钮,跳出代码编辑框,在Begin 和End 之间输入如下代码:Close。
?4、双击表单上的OK 按钮,跳出代码编辑框,在Begin 和End之间输入如下代码:?if password .Text =′abc′then?winexec(′c :\windows\calc .exe′,1);?close ;?其中Winexec()函数有两个参数,第一个参数就是要运行的文件名,包括完整的绝对路径名,而运行参数一般有0、1、2三个,为0时,winexec()函数调用的文件不执行,为1时,winexec()函数调用的文件最大化执行,为3时,winexec()函数调用的文件最小化执行。
?5、按动F9,编译并运行程序,产生filelock.exe 的可执行文件,右击桌面,选择新建快捷方式,把快捷方式命名为计算器,并把快捷方式连接到filelock .exe上,这样,一个简单的文件锁就完成了。?(江苏陈德全)
|