Delphi 同一个程序只允许一个实例同时运行
program Project1; //注意,这是工程文件(工程源码) uses //引用 Winapi.Windows,如果还要弹窗就引用 Vcl.Dialogs Vcl.Forms, Winapi.Windows, Vcl.Dialogs, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} var hMutex: THandle; //定义一个变量 begin //插入下面这一段代码 hMutex := CreateMutex(nil, False, 'TheStandard'); if GetLastError = ERROR_ALREADY_EXISTS then begin CloseHandle(hMutex); ShowMessage('本软件的另一个副本已经在运行中'); application.Terminate; //ExitProcess(0); 也是终止程序的意思 end; //---------以上------------- Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end.