如何识别连编后的程序已经运行(驻留内存),而避免用户重复打开
我的系统连编后直接将整个文件夹拷贝给用户使用,
发现用户已经运行后不小心或者忘记,因此又运行一遍,
同一个系统不在同一个路径还行,否则重复打开往往造成错误的发生。
请问老师们,如何判别系统已经驻留内存而不能重复运行呢?
谢谢!
[解决办法]
参见:http://topic.csdn.net/u/20080901/23/e0df3500-3424-4a2a-b430-555612fdc011.html
[解决办法]
如果变量和字段同名,Visual FoxPro 总是将优先给予字段名。可以使用 m. 或 m-> 加变量名来引用该变量,如下面示例那样:
? m.cFname && 打印变量 cFname 中的值
? m->cFname && 打印变量 cFname 中的值
? cFname && 打印字段 cFname 内容
[解决办法]
Declare Long CreateMutex In "kernel32" Long, Long, StringDeclare Long CloseHandle In "kernel32" LongDeclare Long GetLastError In "kernel32"Public hwndMainPronLastError = GetLastError()hwndMainPro = CreateMutex(0, 0, "[这里输入您互斥体的唯一标识名字]")nLastError = GetLastError()If hwndMainPro=0 Or nLastError<>0 && 表明已经创建过 =CloseHandle(hwndMainPro) Clear Dlls Cancel && 退出系统 ReturnEndIf&& 继续运行(只在第一次启动时继续,重复启动时均会执行上面的 IF 。。。ENDIF 段内代码)