频道分类

Delphi CreateMutex建立互斥对象,并且给互斥对象起一个唯一的名字

作者:admin 来源: 日期:2020/2/7 11:44:40 人气: 标签:

 
program GuardDas;

uses
  Vcl.Forms,
  System.SysUtils,
  Winapi.Windows,
  Winapi.Messages,
  UntGuard in 'UntGuard.pas' {frmGuard};

{$R *.res}

var
  myMutex: HWND;

begin
  // CreateMutex建立互斥对象,并且给互斥对象起一个唯一的名字。
  myMutex := CreateMutex(nil, false, 'FS8000守护程序');
  // 程序没有被运行过
  if WaitForSingleObject(myMutex, 0) <> wait_TimeOut then
  begin
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TfrmGuard, frmGuard);
    Application.Run;
  end
  else
  begin
    // Application.MessageBox(PChar('软件已运行,请勿重复打开运行!'), '提示', mb_ok + MB_ICONWARNING);
  end;
  ReleaseMutex(myMutex);
  Application.Terminate;

end.