PDA

View Full Version : عدم اجرای دوباره برنامه



behzad_dr
سه شنبه 21 اردیبهشت 1389, 12:28 عصر
سلام

چطور میشه چک کنم که اگه برنامه یه بار اجرا شده و کاربر دوباره اون رو اجرا میکنه دوباره در حافظه بار گذاری نشه و یا به هر شکل فرضا به کاربرخطایی بدم و از لود شدن کامل برنامه جلوگیری کنم ؟

Felony
سه شنبه 21 اردیبهشت 1389, 12:54 عصر
کلید واژه Mutex رو در سایت جست و جو کنید ، بارها دربارش صحبت شده .

lord_viper
سه شنبه 21 اردیبهشت 1389, 13: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