主程序中防止连编exe程序重复运行问题的解决心得
为防止连编后的exe程序重复被打开,上网搜了一段代码:cCaption="用友财务系统"
DECLARE INTEGER FindWindow IN win32api STRING cClass,STRING cCaption
IF FindWindow(0,cCaption)#0
_SCREEN.CAPTION=cCaption
=MESSAGEBOX("程序已经运行,请注意任务栏!",16,"提示")
QUIT
RETURN .F.
ENDIF
经过实际检测,只要一打开这个必然报错。
后经过调整为:
cCaption="用友财务系统"
DECLARE INTEGER FindWindow IN win32api STRING cClass,STRING cCaption
IF FindWindow(0,cCaption)#0
=MESSAGEBOX("程序已经运行,请注意任务栏!",16,"提示")
QUIT
RETURN .F.
else
_SCREEN.CAPTION=cCaption
ENDIF
解决问题,特此张贴,希望对于和我一样的小白有个帮助。
另外补充说明,如果和我一样是用主窗口做程序运行界面的,连编后第一次打开exe没反应,第二次报错已经运行,那么可能是你的config文件中把“SCREEN = off”问题,把他改成“SCREEN = on”试试。
补充说明:
若仍然反复出现报错(已经运行提示),请注意更换 cCaption="用友财务系统" 双引号内的名称,使之符合其他可是类库及项目的名称。这个出错,也容易导致报错。
[此贴子已经被作者于2018-6-25 13:51编辑过]