首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

怎么识别连编后的程序已经运行(驻留内存),而避免用户重复打开

2012-08-09 
如何识别连编后的程序已经运行(驻留内存),而避免用户重复打开我的系统连编后直接将整个文件夹拷贝给用户使

如何识别连编后的程序已经运行(驻留内存),而避免用户重复打开
我的系统连编后直接将整个文件夹拷贝给用户使用,
发现用户已经运行后不小心或者忘记,因此又运行一遍,
同一个系统不在同一个路径还行,否则重复打开往往造成错误的发生。

请问老师们,如何判别系统已经驻留内存而不能重复运行呢?
谢谢!

[解决办法]
参见: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 内容
 

[解决办法]

SQL code
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 段内代码) 

热点排行