如何检测动态标题的_screen已经运行?
我的程序中标准不确定,带着用户名和当前时间。不同用户名标题就不一样,时间也在不停的跳动,不知如何解决?请指导!谢谢!
看坛子里之前提到的也有方法,就是自己建立文件,测试文件状态,确定系统状态。也好,测试通过,但问题是如果程序中出现close all等命令就会关闭已打开的文件。另外,只是总是读写文件,有没有其他方法。
[此贴子已经被作者于2016-7-23 17:40编辑过]
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编辑过]