效果图:
代码超简单的:
procedure TFrmLogin.FormCreate(Sender: TObject);
var Fmutex: THandle; begin//创建一个命名的互斥量,确保同一时间只有一个实例在运行 //第三个参数是自定义的,随便取的,但一定要是唯一的标识 FMutex := CreateMutex(nil,True,'MyDelphiAppMutex'); if (FMutex <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then begin //另一个实例已经在运行,关闭当前实例 dm.ShowMessageFadeOut('只能运行一个实例');//这是个自定义的消息提示,可替换 ExitProcess(0);//这里不会触发任何关闭或者销毁事件 end; end;
标签:end,自定义,delphi,互斥,实例,运行 From: https://www.cnblogs.com/yoooos/p/17375376.html