高手问七.
怎么样 Delphi 中判断本程序是否已经运行?
要判断实例是否运行,必须在程序的消息循环之前,在Delphi中,是在Application。Initialize之前。实现本功能,Delphi使用的主要函数是CreateMutex。这个函数用来生成一个Mutex对象的句柄,这个句柄具有操作系统的全局命名空间。
Delphi例子程序的部分代码如下:constMB_MINE=MB_OKorMB_ICONINFORMATIONorMB_TASKMODAL; :=CreateMutex(nil,TRUE,'MyMutex');//TRUE标明该进程拥有此Mutex对象if(GetLastError=ERROR_ALREADY_EXISTS)then//Mutex对象是否存在beginReleaseMutex(hMutex);Exit;//退出程序endelseifhMutex=ERROR_INVALID_HANDLEthen//检查"mymutex"这个名字是否被其他诸如文件映射、信号灯和事件等对象占用MessageBox(0,'Thenamematchedwithaexistingobject!','Information',MB_MINE)elsebeginApplication。
Initialize;Application。CreateForm(TForm1,Form1);Application。Run;ReleaseMutex(hMutex);//释放Mutex对象end;。
答:在主窗体的CloseQuery事件里,使用messagebox进行提示,根据选择的按钮对Canclose进行设置就可以了 如 begin if messageb...详情>>
答:的意思是找不到指定的文件,你确定你的文件路径正确吗? 另外,调用的部分你用 n(shcmd)试试详情>>