PDA

View Full Version : جلوگیری از اجرای مجدد یک برنامه



YASNA
پنج شنبه 06 اسفند 1383, 19:54 عصر
من دو برنامه دارم که یکی از برنامه‌های باید از داخل برنامه دیگری اجرا شود یکی با VB و دیگری با دلفی و از داخل برنامه VB برنامه دلفی اجرا میشود
چگونه چک کنم اگر برنامه دلفی اجرا بود از اجرای مجدد آن کلوگیری شود یعنی پس از آنکه برنامه اجرا شد و چک کرد که برنامه اجرا شده است بیرون بیاید و از اجرای مجدد آن جلوگیری شود

مهندس
جمعه 07 اسفند 1383, 00:02 صبح
سلام

در مورد این موضوع خیلی بحث شده قبلا :D

http://www.barnamenevis.org/forum/viewtopic.php?t=17653&highlight=%C7%CC%D1%C7%ED+%E 3%CC%CF%CF

YASNA
یک شنبه 09 اسفند 1383, 07:39 صبح
آقای مهندس از راهنمایی شما سپاسگزارم

Touska
یک شنبه 09 اسفند 1383, 15:35 عصر
از کامپوننتهای Lmd استفاد ه کنید

موفق باشید :موفق:

omid107
شنبه 03 فروردین 1392, 14:03 عصر
جناب مهندس، لینک رو بروز کن لطفا!

omran.av
پنج شنبه 16 خرداد 1392, 00:11 صبح
سلام
واسه اینکار روش های زیادی هست مثلا استفاده کردن از تابع FindWindow یا CreateMutex در مورد هر کدوم که سرچ کنی اطلاعات زیادی بدست میاری من یه مثال از تابع CreateMutex واست میزارم.

از منوی project زیر منوی view source رو انتخاب کن بعد متن داخلشو مثل کد پایین تغییر بده

program RunOneTime;

uses
windows, //<<<<<<<<<<<<<
Forms,
RunOneTimeUnit in 'RunOneTimeUnit.pas' {Form1};

{$R *.res}
var
MutexHandle: THandle; //<<<<<<<<<<
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
//-------------------------------------------------------------------
MutexHandle:=CreateMutex(nil,TRUE,'NameofMyProgram-version1.2.3');
If MutexHandle<>0 then
If GetLastError=ERROR_ALREADY_EXISTS then
begin
Application.MessageBox('This program is runing','Error!',mb_ok);
Application.Terminate;
end;
//---------------------------------------------------------------------
Application.Run;
end.

به خط های که جلوشون کامنت گذاشتم توجه کن.

mi5coder
یک شنبه 07 مهر 1392, 09:13 صبح
سلام
از توابع GlobalAddAtom و GlobalFindAtom استفاده کن