太容易了.
PUBLIC pat, blinkform, backform, keyform, mainform, regform
ON SHUTDOWN quit
ON ERROR do err with markerr
DECLARE INTEGER FindWindow IN User32.Dll AS Find_Window STRING, STRING
LOCAL ctitle
ctitle = "GD2000档案管理系统"
IF FIND_WINDOW(0,CTITLE) <> 0
= MESSAGEBOX("本系统已经运行了,不可重复运行!",48,"信息窗口")
QUIT
ENDIF
_SCREEN.caption = CTITLE
markerr = 0
DECLARE INTEGER DogRead IN WIN32DLL INTEGER, INTEGER, STRING @
DECLARE INTEGER DogWrite IN WIN32DLL INTEGER, INTEGER, STRING @
dogaddr = 0
dogbytes = 11
data = "12345678901"
newdog = DOGREAD(DOGBYTES,DOGADDR,@DATA)
IF NEWDOG <> 0
CLEAR DLLS
DECLARE INTEGER DogRead IN OLD32DLL INTEGER, INTEGER, STRING @
DECLARE INTEGER DogWrite IN OLD32DLL INTEGER, INTEGER, STRING @
olddog = DOGREAD(DOGBYTES,DOGADDR,@DATA)
IF OLDDOG <> 0
= MESSAGEBOX("请您检查加密狗是否安装好,若操作系统为WINDOWS2000/NT/XP尚需要安装加密狗驱动程序!"+CHR(13)+CHR(13)+SPACE(20)+"加密狗驱动程序在软件安装光盘中。",48,"信息窗口")
RETURN
ENDIF
ENDIF
dogaddr = 0
dogbytes = 9
dogdata = "gd2000Dog"
i = DOGWRITE(DOGBYTES,DOGADDR,@DOGDATA)
_VFP.visible = .F.
SET AUTOSAVE ON
SET TALK OFF
SET CONFIRM OFF
SET SAFETY OFF
SET SPACE OFF
SET STATUS OFF
SET SYSMENU OFF
SET ESCAPE OFF
SET EXACT ON
SET DELETED ON
SET CENTURY ON
SET DATE TO YMD
SET MARK TO "/"
SET DEBUG OFF
SET BLOCKSIZE TO 1
SET MEMOWIDTH TO 100
SET HOURS TO 24
SET NOTIFY OFF
SET EXCLUSIVE ON
pat = SYS(5)+SYS(2003)
set path to &pat
set default to &pat
DO FORM blinkform
READ EVENTS
SET TALK ON
SET CONFIRM ON
SET SAFETY ON
SET SPACE ON
SET STATUS ON
SET SYSMENU ON
SET ESCAPE ON
SET EXACT OFF
SET DELETED OFF
SET CENTURY ON
SET NOTIFY OFF
SET EXCLUSIVE OFF
RELEASE pat,blinkform,backform,keyform,mainform,regform
CLOSE ALL
CLEAR ALL
_VFP.visible = .T.
= IMESTATUS(0)
QUIT