主题:如何阻止用户两次启动我的应用程序?
sheyycy
[专家分:30] 发布于 2009-10-23 02:18:00
请教:
如何阻止用户两次启动我的应用程序?
回复列表 (共30个回复)
11 楼
foxdb [专家分:1830] 发布于 2009-10-24 22:58:00
*另外记得在config.fpw 加入(如果没有就用写字板创建一个[后缀改为.FPW]和运行程序同在一个目录):
screen=off
title=XXX软件
resource=off
12 楼
sheyycy [专家分:30] 发布于 2009-10-24 23:01:00
*另外记得在config.fpw 加入:
screen=off
title=XXX软件
resource=off
请教:config.fpw 在什么地方?我不懂。
13 楼
foxdb [专家分:1830] 发布于 2009-10-24 23:07:00
如果没有就用写字板创建一个[后缀改为.FPW]和执行程序同在一个目录
14 楼
sheyycy [专家分:30] 发布于 2009-10-24 23:09:00
谢谢2楼先生,确实已好。就是第二次启动出错时出现VFP界面还不能消除。
我不能再给您打分了,50已满。还请赐教。
15 楼
sheyycy [专家分:30] 发布于 2009-10-24 23:17:00
我不行。
我的项目的磁盘文件为 ss1.exe
请问:1、="ss1.exe" 还是 =ss1 ?
2、生成的config文件的扩展名不能修改,否则文件不能运行。
16 楼
foxdb [专家分:1830] 发布于 2009-10-24 23:19:00
config.fpw 建好了吗?
17 楼
foxdb [专家分:1830] 发布于 2009-10-24 23:25:00
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 楼
sheyycy [专家分:30] 发布于 2009-10-24 23:26:00
发一个建好了的文件给我好吗?
我的项目文件已改名为sd1.exe
19 楼
sheyycy [专家分:30] 发布于 2009-10-24 23:28:00
加上两句,试过不行。
20 楼
foxdb [专家分:1830] 发布于 2009-10-24 23:30:00
不好意思看错了是:
SET SCREEN OFF
SET RESOURCE OFF
******************加上面两句看看行否?*******
我来回复