Delphi中,让程序只运行一次的方法

网上找了很多方法,很多有漏洞

自己总结实验了出来 下面是正确的

program Project1;

uses

  Forms,Windows,SysUtils,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}
var
myMutex:HWND;
begin
myMutex:=CreateMutex(nil,false,'hkOneCopy');
if WaitForSingleObject(myMutex,0)<>wait_TimeOut then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
End;


end.

你可能感兴趣的:(windows,Delphi)