Delphi 禁止重复运行程序的方法

Posted windson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 禁止重复运行程序的方法相关的知识,希望对你有一定的参考价值。

第一种方法,使用“过程调用”

procedure Del; // 自定义过程
var
  Mutex: THandle;
begin
  Mutex := CreateMutex(nil, True, PChar(Application.Title));
  if GetLastError = ERROR_ALREADY_EXISTS then
  begin
    Application.MessageBox(‘重复登录!‘,‘系统提示‘, MB_ICONERROR);
    ReleaseMutex(Mutex);   {释放资源}
    Application.Terminate;
  end;
end;

第二种方法:通过写入dpr工程文件

program Project1;
uses
  Forms, windows,
  Unit1 in Unit1.pas {Form1};
{$R *.RES}
var Mutex:THandle;
begin
 Mutex := CreateMutex(nil,true,one);  {第3个参数任意设置}
 if GetLastError <> ERROR_ALREADY_EXISTS then
 begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
 end
 else
  Application.MessageBox(重复登录!,系统提示,MB_OK);
  ReleaseMutex(Mutex);   {释放资源}
end.

 

以上是关于Delphi 禁止重复运行程序的方法的主要内容,如果未能解决你的问题,请参考以下文章