主题:疯狂的VFPER之禁止程序多次执行
一晃真正用VFP写程序也已6年多了,大大小小也做了几十个系统,曾经有多少个日夜坐在电脑前敲打着空格、回车...,突然发现我在论坛上回贴的多,发贴的少,决定痛改前非:)...闲话少说,言归正传,我会陆续将我的部份VFP代码给大家分享(并不一定都是我的原创,有些是在其他VFPER的代码上改的)。
疯狂的VFPER之禁止程序多次执行,将以下的代码放在程序开始即可:
Public Handle
DECLARE INTEGER CreateFileMapping IN kernel32.DLL INTEGER hFile, ;
INTEGER lpFileMappingAttributes,integer flProtect, ;
INTEGER dwMaximumSizeHigh, INTEGER dwMaximumSizeLow, ;
STRING lpName
DECLARE INTEGER GetLastError IN kernel32.DLL
DECLARE INTEGER CloseHandle IN kernel32.DLL INTEGER hObject
szname="hello"
Handle = CreateFilemapping(0xFFFFFFFF,0,4,0,128,szname)
If handle = 0
Wait Windows "CreateFileMapping 失败 - LastError: " ;
+ Ltrim(Str(GetLastError()))
Return
Endif
If Handle=0
Messagebox("内存映谢文件创建失败!",46,"错误")
Clear Events
Return .F.
Else
If GetLastError()=183
Messagebox("该应用程序已经运行!",16,"提示")
Clear Events
Return .F.
Endif
Endif
疯狂的VFPER之禁止程序多次执行,将以下的代码放在程序开始即可:
Public Handle
DECLARE INTEGER CreateFileMapping IN kernel32.DLL INTEGER hFile, ;
INTEGER lpFileMappingAttributes,integer flProtect, ;
INTEGER dwMaximumSizeHigh, INTEGER dwMaximumSizeLow, ;
STRING lpName
DECLARE INTEGER GetLastError IN kernel32.DLL
DECLARE INTEGER CloseHandle IN kernel32.DLL INTEGER hObject
szname="hello"
Handle = CreateFilemapping(0xFFFFFFFF,0,4,0,128,szname)
If handle = 0
Wait Windows "CreateFileMapping 失败 - LastError: " ;
+ Ltrim(Str(GetLastError()))
Return
Endif
If Handle=0
Messagebox("内存映谢文件创建失败!",46,"错误")
Clear Events
Return .F.
Else
If GetLastError()=183
Messagebox("该应用程序已经运行!",16,"提示")
Clear Events
Return .F.
Endif
Endif