天天看點

防止程式重複執行:通過類名或視窗名

在程式初始化前,檢查同類名或是同視窗名的程式是否執行,如果有執行,則強制退出程式。

在項目頭檔案中加入代碼,需要引用Winapi.Windows

示例:

program Project1;

uses

  Vcl.Forms,

  Winapi.Windows,

  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin

  //如果使用類名,改為FindWindow(PChar('TForm1'),nil)

  //TForm1是主窗體類名,Form1是主窗體标題

  if FindWindow(nil,'Form1') <> 0 then

  begin

    MessageBox(0,'該程式正在執行中,不能重複執行!','提示',MB_OK + MB_ICONINFORMATION);

    Halt(0);  //強制退出

  end;

  Application.Initialize;

  Application.MainFormOnTaskbar := True;

  Application.CreateForm(TForm1, Form1);

  Application.Run;

end.

繼續閱讀