جلوگیری از اجرای مجدد یک برنامه
من دو برنامه دارم که یکی از برنامههای باید از داخل برنامه دیگری اجرا شود یکی با VB و دیگری با دلفی و از داخل برنامه VB برنامه دلفی اجرا میشود
چگونه چک کنم اگر برنامه دلفی اجرا بود از اجرای مجدد آن کلوگیری شود یعنی پس از آنکه برنامه اجرا شد و چک کرد که برنامه اجرا شده است بیرون بیاید و از اجرای مجدد آن جلوگیری شود
نقل قول: جلوگیری از اجرای مجدد یک برنامه
جناب مهندس، لینک رو بروز کن لطفا!
نقل قول: جلوگیری از اجرای مجدد یک برنامه
سلام
واسه اینکار روش های زیادی هست مثلا استفاده کردن از تابع 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.
به خط های که جلوشون کامنت گذاشتم توجه کن.
نقل قول: جلوگیری از اجرای مجدد یک برنامه
سلام
از توابع GlobalAddAtom و GlobalFindAtom استفاده کن