标题:请教:设置软件唯一运行模式的方法
只看楼主
laibinhua
Rank: 2
等 级:论坛游民
威 望:1
帖 子:205
专家分:31
注 册:2010-12-23
结帖率:56.36%
已结贴  问题点数:10 回复次数:2 
请教:设置软件唯一运行模式的方法
我这样写,不对,还是可以重复运行
DECLARE LONG CreateMutex  IN Kernel32 STRING@, LONG, STRING@
DECLARE LONG GetLastError IN Kernel32
DECLARE LONG CloseHandle  IN Kernel32 LONG

szPrg  = PROGRAM()
hMutex = CreateMutex(NULL, 0, @szPrg)

IF GetLastError() = 183    && ERROR_ALREADY_EXISTS
    MESSAGEBOX(szPrg + " 不能重复运行")
    QUIT
ENDIF

CloseHandle(hMutex)
搜索更多相关主题的帖子: Kernel32 软件 LONG 方法 唯一 
2022-05-10 12:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
是不是下面的意思
*——避免多次运行程序
*——声明API函数“FindWindow”
DECLARE Integer FindWindow IN USER32.DLL String lpClassName,String lpWindowName
LPWINDOWNAME="医保及新农合医疗费用结算情况"
IF .NOT. FindWindow(0,lpWindowName)==0 &&寻找窗口标题
   =MESSAGEBOX("程序已经运行了",48,"提示信息")
   QUIT
ENDIF
_SCREEN.CAPTION=LPWINDOWNAME

坚守VFP最后的阵地
2022-05-10 13:35
zhken
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:273
专家分:594
注 册:2012-9-21
得分:5 
简单的方法是 启动是 打开一个表 时带上 EXCLUSIVE 拒绝再次打开,退出时释放。出现错误不能存取文件时退出。打开顺利则进入程序。
2022-05-11 00:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509042-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.214190 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved