Jump to content


cseara

Member Since 15/04/2010
Offline Last Active 15/04/2010, 22:37
-----

Posts I've Made

In Topic: Listando Processos (e Seus Módulos) Em Execução

15/04/2010, 22:37

Olá pessoal! ;)

Desses Dias achei nd Net ESSA Função Parágrafo OS Processos listar (e módulos SEUS) EXECUÇÃO EM, Como no CTRL + ALT + DEL dos Windows (mas não do sistema operacional Windows parágrafo Lista de Processos, OS módulos Não ...). Como foi Difícil de Achar ESTA Função, e Tamb [em procurarem Por Para muitos, resolvi compartilhá-la aqui ..... (: D) ...

Aí vai ...

PS: [list]
[*] Button1 É o Botão Que Os Lista Processos
[*] ListView1 e Processos NUMA Lista aparecem Onde OS
[*] É UM listview ListView2 Onde aparecem OS módulos Ligados AO selecionado Processo da ListView1
[/ List] [code=auto:0] procedure TForm1.Button1Click (Sender: TObject);
var
Snapshot: THandle;
PROCESSENTRY32: TProcessEntry32;
Começar
/ Limpa / um listview
ListView1.Clear;
/ CRIA UMA fotografia / "dos Processos em EXECUÇÃO
Snapshot: = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
if (= Cardeal Snapshot (-1)), então
saida;
ProcessEntry32.dwSize: = sizeof (TProcessEntry32);
/ / Pela pesquisa Lista de Processos
se (Process32First (Snapshot, PROCESSENTRY32)) então
repetir
/ / Enquanto Houver Processos listview adiciona, nd
Começam com ListView1.Items.Add
Caption: = IntToStr (ProcessEntry32.th32ProcessID);
SubItems.Add (IntToStr (ProcessEntry32.th32ParentProcessID));
SubItems.Add (ProcessEntry32.szExeFile);
Efeito;
Até Não Process32Next (Snapshot, PROCESSENTRY32);
/ / Fecha fotografia "de Processos
CloseHandle (Instantaneo);
Efeito;

Procedimento TForm1.ListView1SelectItem (Sender: TObject; Item: TListItem;
Selecionado: Boolean);
var
ModuleSnap: THandle;
ModuleEntry32: TModuleEntry32;
ProcessId: Integer;
Começar
ListView2.Clear;
ProcessId: = StrToInt (Item.Caption);
/ Uma tira / "fotografia dos módulos Neste processo
ModuleSnap: = CreateToolhelp32Snapshot (TH32CS_SNAPMODULE, ProcessId);
if (= ModuleSnap Cardinal (-1)), então
saida;
ModuleEntry32.dwSize: = sizeof (TModuleEntry32);
/ / Pela pesquisa Lista de módulos do Processo
if (Module32First (ModuleSnap, ModuleEntry32)) então
repetir
/ / Enquanto Fígado módulos, listview UM preenche
Começam com ListView2.Items.Add
Caption: = String (ModuleEntry32.szModule);
SubItems.Add (String (ModuleEntry32.szExePath));
Efeito;
Até Não Module32Next (ModuleSnap, ModuleEntry32);
/ / Fecha fotografia "
CloseHandle (ModuleSnap);
end; [/ code]

Para facilitar, anexei OS fontes aqui ..... : Lol:

T + V! : Minhas Respostas DGosta de?




Ai o esta dica e fria total

IPB Skin By Virteq