| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:请教:设置软件唯一运行模式的方法
只看楼主 加入收藏
laibinhua
Rank: 2
等 级:论坛游民
威 望:1
帖 子:283
专家分:38
注 册:2010-12-23
结帖率:58.97%
收藏
已结贴  问题点数: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
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册: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
帖 子:283
专家分:616
注 册:2012-9-21
收藏
得分:5 
简单的方法是 启动是 打开一个表 时带上 EXCLUSIVE 拒绝再次打开,退出时释放。出现错误不能存取文件时退出。打开顺利则进入程序。
2022-05-11 00:57
快速回复:请教:设置软件唯一运行模式的方法
数据加载中...
 
   



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

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