如何检测动态标题的_screen已经运行?
我的程序中标准不确定,带着用户名和当前时间。不同用户名标题就不一样,时间也在不停的跳动,不知如何解决?请指导!谢谢!
看坛子里之前提到的也有方法,就是自己建立文件,测试文件状态,确定系统状态。也好,测试通过,但问题是如果程序中出现close all等命令就会关闭已打开的文件。另外,只是总是读写文件,有没有其他方法。
[此贴子已经被作者于2016-7-23 17:40编辑过]
[此贴子已经被作者于2016-7-23 17:40编辑过]
2016-07-23 17:37
2016-07-24 17:26
2016-07-24 22:49
2016-07-25 13:52
2016-07-25 13:53
程序代码:PUBLIC gcOldDir,vcxname
gcOldDir = SET('DEFAULT') + SYS(2003)
SET DEFA TO "&gcOldDir"
******************************************************************************
&&获取程序运行名称
Declare INTEGER GetModuleHandle IN kernel32 INTEGER lpModuleName
vcxid = ALLTRIM(STR(GetModuleHandle(0)))
Declare INTEGER GetModuleFileName IN kernel32;
INTEGER hModule,;
STRING @ lpFilename,;
INTEGER nSize
lpFilename = SPACE(250)
lnLen = GetModuleFileName (0, @lpFilename, Len(lpFilename))
vcxname = JUSTFNAME(ALLTRIM(Left (lpFilename, lnLen)))
******************************************************************************
#DEFINE ERROR_ALREADY_EXISTS 183
DECLARE INTEGER GetLastError IN WIN32API
DECLARE INTEGER CreateMutex IN WIN32API INTEGER Security,SHORT Owned,STRING@ MutexName
DECLARE SHORT CloseHandle IN WIN32API INTEGER
PUBLIC hMutex, iResult, bCanRun
hMetux=CreateMutex(0,0,vcxname)
iResult=GetLastError()
DO CASE
CASE iResult==0
bCanRun=.T.
CASE iResult==ERROR_ALREADY_EXISTS
MessageBox("程序已经运行。"+SPACE(2),64,"提示")
bCanRun=.F.
OTHERWISE
bCanRun=.F.
MessageBox("GetLastError() returned "+ ltrim(str(iResult)))
ENDCASE
IF bCanRun ==.F.
=CloseHandle(hMutex)
* QUIT
ENDIF
[此贴子已经被作者于2016-7-25 14:56编辑过]
2016-07-25 14:05
2016-07-25 14:44
2016-07-25 14:50