delphi4arab منتديات دلفي للعرب
كيف يمكن جعل البرنامج يعمل مره واحده فقط - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يمكن جعل البرنامج يعمل مره واحده فقط (/showthread.php?tid=2399)



كيف يمكن جعل البرنامج يعمل مره واحده فقط - palunix - 09-09-2010

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

عن تشغيله اول مره و عن تشغيله مره اخري يظهر رساله بان البرنامج لا يزال يعمل


كيف يمكن جعل البرنامج يعمل مره واحده فقط - TF6M - 09-09-2010

السلام عليكم
كود :
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;
بالتوفيق,,



كيف يمكن جعل البرنامج يعمل مره واحده فقط - kachwahed - 09-09-2010

السلام عليكم
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); 
بالتوفيق.



كيف يمكن جعل البرنامج يعمل مره واحده فقط - palunix - 10-09-2010

الحمد لله تمت العملية بنجاخ

بارك الله فيكم جميعا


كيف يمكن جعل البرنامج يعمل مره واحده فقط - أبو محمد اللحياني - 10-09-2010

أيضا يمكنك استخدام هذه الوحده .

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

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

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



كيف يمكن جعل البرنامج يعمل مره واحده فقط - kachwahed - 14-01-2011

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