كيف غلق برنامج ما في GETIONNAIRE DES TACHES
#1
السلام عليكم
بحثت عن سورس لغلق برنامج ما في GETIONNAIRE DES TACHES فوجت هذا:
كود :
procedure TForm1.Button1Click(Sender: TObject); var  MyHandle: THandle; begin  MyHandle:=FindWindow(nil, 'Delphi Help');  SendMessage(MyHandle, WM_CLOSE, 0, 0); end; ولاكن لا يعمل
الرد
#2
وعليكم السلام
الكود يعمل بشكل جيد
إنتبه "Delphi Help" هي Caption الخاصة بالنموذج الرئيسي..
أيضا للإستزادة يمكنك إستعمال الدالة TerminateProcess كبديل.
سبحان الله وبحمده سبحان الله العظيم
[-] كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة
  • mohamed49
الرد
#3
أريد ايقاف Processus
الرد
#4
هكذا
PHP كود :
uses
  Tlhelp32
;

function 
ProcessIDFromAppname32(appname: string): DWORD;
var
 
 snapshot: THandle;
 
 processEntry: TProcessEntry32;
begin
  Result 
:= 0;
 
 appName := UpperCase(appname);
 
 snapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 
 if snapshot <> 0 then
    try
      processEntry
.dwSize := Sizeof(processEntry);
 
     if Process32First(snapshot, processEntry) then
        repeat
          if Pos
(appname,
 
           UpperCase(ExtractFilename(
 
           StrPas(processEntry.szExeFile)))) > 0 then
          begin
            Result 
:= processEntry.th32ProcessID;
 
           Break;
 
         end;
 
       until not Process32Next(snapshot, processEntry);
 
   finally
      CloseHandle
(snapshot);
 
   end;
end;

// Usage:

var
 
 hProcess: THandle;
 
 PID: DWORD;
begin
  PID 
:= ProcessIDFromAppname32('target.exe');
 
 hProcess := OpenProcess(PROCESS_TERMINATE, False, PID);
 
 TerminateProcess(hProcess, 0);
end;
مبدئيا هذا يلبي طلبك.
مع مرعات أن هذا الكود يقوم بغلق أول Process 

مبدئيا هذا يلبي طلبك.
مع مرعات أن هذا الكود يقوم بغلق أول Process.
سبحان الله وبحمده سبحان الله العظيم
[-] كل من 2 users say قال شكرا ل Agmcz على المشاركة المفيدة
  • Bachirsoft, mohamed49
الرد
#5
الله يحفظك,,,,,,,,,,,,,,,,,,,,, رائع
الرد
#6
PHP كود :
uses
  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;

KillTask('notepad++.exe'); 
الرد


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


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