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 禁止重复运行程序的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何让delphi任务管理器失效,让程序无法关闭??

高手帮忙!在delphi中如何禁止edit 在中输入东西 ?

如何在2个Delphi应用程序之间传递字符串[重复]

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段

xp系统安装delphi7 无论有无代码,一运行就出现CPU窗口,然后delphi就卡死了,求解决方法!

需要一种有效的方法来避免使用 Laravel 5 重复代码片段