View Full Version : عدم اجرای دوباره برنامه
  
behzad_dr
سه شنبه 21 اردیبهشت 1389, 13:28 عصر
سلام 
 
چطور میشه چک کنم که اگه  برنامه یه بار اجرا شده و کاربر دوباره اون رو اجرا میکنه دوباره در حافظه بار گذاری نشه و یا به هر شکل فرضا به کاربرخطایی بدم و از لود شدن کامل برنامه جلوگیری کنم ؟
Felony
سه شنبه 21 اردیبهشت 1389, 13:54 عصر
کلید واژه Mutex رو در سایت جست و جو کنید ، بارها دربارش صحبت شده .
lord_viper
سه شنبه 21 اردیبهشت 1389, 14:00 عصر
procedure TForm1.FormCreate(Sender: TObject);
var
  Sem: THandle;
begin
  Sem := CreateSemaphore(nil, 0, 1, 'PROGRAM_NAME');
  if ((Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS)) then
  begin
    CloseHandle(Sem);
    ShowMessage('This program is already running.');
    Halt;
  end;
end;
http://www.swissdelphicenter.ch/torry/showcode.php?id=42
http://www.ibrtses.com/delphi/singleinstance.html
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.