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

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



كيف يمكن ايقاف برنامج Process ؟ - WALID KREMA - 12-01-2009

الاخوة الكرام
كيف يمكنني قفل outlook.exe او اي برنامج في processes بلغة delphi 6

شكرا للجميع


كيف يمكن ايقاف برنامج Process ؟ - mourad39 - 12-01-2009

السلام عليكم
هذا أمر MS-DOS قد يفيدك في دلفي
taskkill /im notepad.exe
لإغلاق برنامج المفكرة


كيف يمكن ايقاف برنامج Process ؟ - محمد عبد العزيز - 14-01-2009


استخدم كل من CreateToolhelp32Snapshot / Process32First / Process32Next لتحصل على قائمة بالبرامج التي تعمل
ومن بينها ابحث عن الذي تريد ايقافه ان وجدته استخدم OpenProcess ثم TerminateProcess

هذه طريقة هناك غيرها
والسلام عليكم



كيف يمكن ايقاف برنامج Process ؟ - WALID KREMA - 14-01-2009

شكرا يا اخي على ذلك
وان تكرمت ارغب في توضيح اكبر
لاني لم استعمل هذا من قبل ولم اعرف الطريقة

شكرا مرة اخري


كيف يمكن ايقاف برنامج Process ؟ - galag8 - 15-01-2009

السلام عليكم
اليك هذا المثال بالمرفقات
عليك فقط كتابه اسم العمليه التي تود اغلاقها .exe
PHP كود :
uses  Psapi, tlhelp32;

 function 
KillTask(ExeFileName: string): Integer;
const
  
PROCESS_TERMINATE = $0001;
var
  
ContinueLoop: BOOL;
  
FSnapshotHandle: THandle;
  
FProcessEntry32: TProcessEntry32;
begin
  Result 
:= 0;
  
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
  while 
Integer(ContinueLoop) <> 0 do
  
begin
    
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      
UpperCase(ExeFileName))) then
      Result 
:= Integer(TerminateProcess(
                        
OpenProcess(PROCESS_TERMINATE,
                             
BOOL(0),
                                    
FProcessEntry32.th32ProcessID),
                                    
0));
     
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  
end;
  
CloseHandle(FSnapshotHandle);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit1.Text='' then
ShowMessage
('please write the process .EXE')
else
KillTask(Edit1.Text);
end; 



كيف يمكن ايقاف برنامج Process ؟ - WALID KREMA - 15-01-2009

الشكرا الكبير لك يا اخي الكريم على هذه proccedure التى حلت لي مشكلة كبيرة وبارك الله فيك
شكرا لك لقد استخدمت هذه funcation ونجحت ولكن لنفس الجهاز

برنامجي موجود على الشبكة يقوم بنسخ ملف outlook\Outlook.PST من جميع الاجهزة الى server
والمشكلة هو لن يتم النسخ اذا كان outlook.exe يعمل وهذا البرنامج ساعدني كثيرا ولكن ليس عن طريق الserver الوصول الى process في اي clint وقفل outlook.exe من process في هذه clint
وهذه فكرة على البرنامج
PHP كود :
DATA.Close;
        
DATA.SQL.Clear;
        
DATA.SQL.ADD('SELECT * FROM T1');
        
DATA.Open;
        while 
not data.Eof do
            
begin
 
//         KillTask( الامر الخاص بالوصول
              
copyFile(pchar('\\'+DATA.FIELDBYNAME  ('pcname').AsString+'\outlook\Outlook.PST'),pchar('c:\share\backup outlook\'+DATA.FIELDBYNAME('userNAME').AsString+'\Outlook.PST'),true);
              data.next;
             end;
         close; 



كيف يمكن ايقاف برنامج Process ؟ - ع بلال - 11-02-2009

السلام عليكم
شكراً على المجهودات القيمة
كيف معرفة أسماء البرامج قيد الاستخدام وليس كل التطبيقات قيد التشغيل مع النظام
ولكم جزيل الشكر