FORUM DARKERS

Tecnologia & Informática => Programação => Delphi => Topic started by: Anonymous on 13 de November , 2006, 09:16:42 PM

Title: Finalizando processos
Post by: Anonymous on 13 de November , 2006, 09:16:42 PM
alguem sabe alguma função que finaliza os processos do windows ?
Title: Re: Finalizando processos
Post by: TGA on 14 de November , 2006, 10:28:23 AM
TGA

Quote{For Windows 9x/ME/2000/XP }

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;

procedure TForm1.Button1Click(Sender: TObject);
begin
  KillTask('notepad.exe');
end;
Title: Re: Finalizando processos
Post by: Anonymous on 18 de November , 2006, 02:02:26 AM
tah bugado, apareceu alguns erros aqui, eu arrumei, mas tem outros que eu nao sei como arrumar nao =/
Title: Re: Finalizando processos
Post by: TGA on 18 de November , 2006, 11:53:47 AM
TGA

desculpe amigo, mais não tem nada bugado ai, esta funcionando perfeitamente, post seu problem!  ;)