سلام
دوستان کسی می دونه چطور می شه اجازه داد نرم افزار فقط یکبار اجرا گردد و برای دفعات بعدی پیغام داده شود .
سلام
دوستان کسی می دونه چطور می شه اجازه داد نرم افزار فقط یکبار اجرا گردد و برای دفعات بعدی پیغام داده شود .
if findwindow('TForm1', 'Form1')<>0 then
begin
showmessage('already running');
application.terminate;
end;
با سلام. البته روش صحيح استفاده از mutexهست. جستجو كنيد
دوست عزیز این کد که نوشتی کجای نرم افزار باید ازش استفاده کنیم . من توی OnCreate فرم می گذارم همیشه پیغام Already running را می ده و از برنامه بیرون می آد .
توي فايل اصلي برنامه.
از منوي Project گزينه View Source رو انتخاب كنيد.
اين هم راه استفاده از mutex كه به قول دوستمون راه صحيحتري است:
program MyApp;
uses
Windows,Forms,
MyApp1 in 'MyApp1.pas' {Form1};
var
Mutex : THandle;
{$R *.RES}
begin
Mutex := CreateMutex(nil, True, 'MyAppName');
if (Mutex <> 0) and (GetLastError = 0) then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
if Mutex <> 0 then
CloseHandle(Mutex);
end;
end.