كيف يمكن جعل البرنامج يعمل مره واحده فقط
#1
كيف يمكن جعل برنامجي يشتغل مره واحده فقط

عن تشغيله اول مره و عن تشغيله مره اخري يظهر رساله بان البرنامج لا يزال يعمل
الرد
#2
السلام عليكم
كود :
Uses Tlhelp32; Function Run:Boolean; Var Handle: THandle; Struc: TProcessEntry32; wMax: Byte; Begin Result:= False;wMax:= 0; Handle:=CreateToolHelp32SnapShot($00000002, 0); Struc.dwSize:=Sizeof(TProcessEntry32); While Process32Next(Handle, Struc) Do Begin If Struc.szExeFile = ExtractFileName(ParamStr(0))Then Inc(wMax); If wMax >= 2 Then Begin Result:= True; Exit; End; End; End; procedure TForm1.FormCreate(Sender: TObject); begin If Run Then ExitProcess(GetLastError); //RunError; end;
بالتوفيق,,
I'M Fly Like A G6

الرد
#3
السلام عليكم
PHP كود :
var
  
Handle: THandle;
...
initialization
  Handle 
:= CreateMutex(nil, True, PChar(Application.Title));
  if 
GetLastError = ERROR_ALREADY_EXISTS then begin
    MessageBox
(GetActiveWindow, 'Program is already running!', 'Info', MB_OK );
    
Halt;
  
end;

finalization
  
if Handle <> INVALID_HANDLE_VALUE then
    CloseHandle
(Handle); 
بالتوفيق.
الرد
#4
الحمد لله تمت العملية بنجاخ

بارك الله فيكم جميعا
الرد
#5
أيضا يمكنك استخدام هذه الوحده .

ميزتها أنك إذا نقرت على البرنامج مرة أخرى ينشط لك نافذة البرنامج يعني لا يرسل لك رسالة تنبيه.

وهذا أجمل من أن يقول لك البرنامج يعمل فقط .

طريقة الاستخدام ، أضف الوحدة إلى المشروع ثم في نفس ملف المشروع :
PHP كود :
begin
  
if not CheckPrevious.RestoreIfRunning(Application.Handle, 1) then
  begin
    Application
.Initialize;
    
Application.CreateForm(TForm3, Form3);
    
Application.Run;
  
end;
end. 


الملفات المرفقة
.rar   CheckPrevious.rar (الحجم : 891 بايت / التحميلات : 102)
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
الرد
#6
إقتباس :ينشط لك نافذة البرنامج يعني لا يرسل لك رسالة تنبيه.
أيضا عوض عرض الرسالة يمكن ذلك بطريقة أخرى:
PHP كود :
SetForegroundWindow(FindWindow('MyClassMainForm'{<-- e.g.: 'TForm1'}, nil)); 
المزيد من الخدع:
كود :
http://delphi.about.com/od/windowsshellapi/l/aa100703b.htm
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم