回 帖 发 新 帖 刷新版面

主题:如何阻止用户两次启动我的应用程序?

请教:
      如何阻止用户两次启动我的应用程序?

回复列表 (共30个回复)

11 楼

*另外记得在config.fpw 加入(如果没有就用写字板创建一个[后缀改为.FPW]和运行程序同在一个目录):

screen=off
title=XXX软件
resource=off

12 楼

*另外记得在config.fpw 加入:

screen=off
title=XXX软件
resource=off

请教:config.fpw 在什么地方?我不懂。

13 楼

如果没有就用写字板创建一个[后缀改为.FPW]和执行程序同在一个目录

14 楼


谢谢2楼先生,确实已好。就是第二次启动出错时出现VFP界面还不能消除。

我不能再给您打分了,50已满。还请赐教。

15 楼


我不行。
 
我的项目的磁盘文件为 ss1.exe

请问:1、="ss1.exe" 还是 =ss1 ?
      2、生成的config文件的扩展名不能修改,否则文件不能运行。

16 楼

config.fpw  建好了吗?

17 楼

SET screen off
SET RESOURCE OFF
******************加上面两句看看行否?*******
SET TALK OFF
SET SAFETY OFF
SET DELETED OFF
SET CENTURY ON
SET DATE TO ANSI

DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING,STRING lpszFile,STRING,STRING,INTEGER

DECLARE INTEGER CreateMutex IN kernel32.DLL INTEGER,INTEGER,String 
DECLARE INTEGER GetLastError IN kernel32.DLL
DECLARE INTEGER CloseHandle IN kernel32.DLL
handle=CreateMutex(0,0,"送电线路工程施工管理系统")
IF handle=0 
   _screen.windowstate=2
   MESSAGEBOX("创建互斥体失败!",0,"信息提示!") 
   RETURN .f.
ELSE 
   IF GetLastError()=183
      _screen.windowstate=2
      =MESSAGEBOX("程序不能重复同时启动!",48," 信息提示!")
      CLOSE all 
      Clear dlls 
     QUIT 
   ENDIF
ENDIF


PUBLIC xtPth,xtDm,xtCapt
          xtPth = left(sys(16,1),rat("\",sys(16,1)))
    CD &xtPth
    xtDm = "0000"    &&用户调用不同项目时,其值会被更改。
    xtCapt = "送电线路工程施工管理系统"
    _screen.Caption=xtCapt+"        当前工程项目:  ["+xtDm+"]"   && 随着更改
    _screen.Icon = "sd_ico.ico"
    _screen.Height=600
    _screen.Width=900
ON SHUTDOWN Shutdown()
ON ERROR ErrorHandler(ERROR(),PROGRAM(),LINENO())
PUBLIC xtMenu as menu,xtToolbar as Toolbar
    xtMenu="sd_menu.mpr"
    DO &xtMenu
    set classlib to bar1 additive
    xtToolbar=createobject('sd_toolbar')
    xtToolbar.show
    xtToolbar.dock(0)
    SET MARK of BAR 1 of _mwindow to .T.
    SET MARK of BAR 2 of _mwindow to .T.
READ events
SET PATH TO
CLEAR ALL
CLOSE ALL
POP MENU _msysmenu
ON ERROR
ON SHUTDOWN
RETURN

18 楼

发一个建好了的文件给我好吗?


我的项目文件已改名为sd1.exe

19 楼

加上两句,试过不行。

20 楼

不好意思看错了是:

SET SCREEN OFF
SET RESOURCE OFF
******************加上面两句看看行否?*******

我来回复

您尚未登录,请登录后再回复。点此登录或注册