Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

CriAnDo Um PrOCeSs KiLL


ANDREPINTOZINHO
 Compartilhar

Posts Recomendados

Oi gente, eu estava pesquisando na internet e achei um tutorial de como se fazer um process kill um progama para matar processos.

eu achei que ele é bem util sabe aqueles virus chatos tipo o Sality que bloqueia o gerenciador de tarefas pra vc nao ve os processos em execução isso nao é mais um problema só criar o process kill abrir ele e detonar o virus ou sei la o que:D e mais uma coisa no meu delphi eu nao vi o evento RefreshClick eu coloquei no onclick e deu certo :D

 

Com as seguintes rotinas isto é simplesmente mais fácil para matar um processo em execução.

Em primeiro lugar construir um formulário com um TListView com 3 colunas e um TButton

para atualizar os processos em execução.

Fixe o Refreshclick procedimento para o TButton eo

ListViewDblClick procedimento com o TListView

O TListView mostra os processos.

Com um duplo em um dos processNames você pode matar esse processo em execução.

Não se esqueça de incluir em sua uses TLHelp32.

É necessário se cadastrar para acessar o conteúdo.

[/center]

 

interface

 

uses

{...,}TLHelp32 {important !}

 

// Global Variables

 

var

aSnapshotHandle: THandle;

aProcessEntry32: TProcessEntry32;

 

implementation

 

procedure TForm1.BtnRefreshClick(Sender: TObject);

var

i: Integer;

bContinue: BOOL;

NewItem: TListItem;

begin

ListView1.Items.Clear;

aSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

aProcessEntry32.dwSize := SizeOf(aProcessEntry32);

bContinue := Process32First(aSnapshotHandle, aProcessEntry32);

while Integer(bContinue) <> 0 do

begin

NewItem := ListView1.Items.Add;

NewItem.Caption := ExtractFileName(aProcessEntry32.szExeFile);

NewItem.subItems.Add(IntToHex(aProcessEntry32.th32ProcessID, 4));

NewItem.subItems.Add(aProcessEntry32.szExeFile);

bContinue := Process32Next(aSnapshotHandle, aProcessEntry32);

end;

CloseHandle(aSnapshotHandle);

end;

 

 

procedure TForm1.ListView1DblClick(Sender: TObject);

var

Ret: BOOL;

PrID: Integer; // processidentifier

Ph: THandle; // processhandle

begin

with ListView1 do

begin

if MessageDlg('Do you want to Terminate "' + ItemFocused.Caption + '"?' + ^J +

'It''s possible the system becames instable or out of' + ^J +

'control......',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then

begin

PrID := StrToInt('$' + ItemFocused.SubItems[0]);

Ph := OpenProcess(1, BOOL(0), PrID);

Ret := TerminateProcess(Ph, 0);

if Integer(Ret) = 0 then

MessageDlg('Cannot terminate "' + ItemFocused.Caption + '"',

mtInformation, [mbOK], 0)

else

ItemFocused.Delete;

end;

end;

end;

 

 

procedure TForm1.FormCreate(Sender: TObject);

begin

 

ListView1.Columns.Add;

ListView1.Columns.Add;

ListView1.Columns.Add;

ListView1.ViewStyle := vsReport;

 

BtnRefresh.Click;

end;

 

{Only Win95/Win98/ME}

 

Ai galera espero que gostem eu tive que traduzir pq esse tuto é inglês

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...
Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.