P
php1
Unregistered / Unconfirmed
GUEST, unregistred user!
这已经不是什么新鲜的问题了。以前也有很多人解决过类似的
问题。但是我看那些例子看不懂,只好出重金求答案。
有如下程序片段:
......
var
mainform: Tmainform;
l : Tlist; ////返回的东东在"L"这个TList中。
type
TProcessInfo = Record
ExeFile : String;
ProcessID : DWORD;
end;
pProcessInfo = ^TProcessInfo;
implementation
{$R *.DFM}
procedure Tmainform.B_StartClick(Sender: TObject);
var
p : pProcessInfo;
lppe: TProcessEntry32;
found : boolean;
Hand : THandle;
begin
lb_show.Items.Clear;
l.Clear;
Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
lppe.dwSize:=sizeof(lppe);
found := Process32First(Hand,lppe);
if not found then begin
showmessage('Found false!');
exit;
end;
while found do begin
New(p);
p.ExeFile := lppe.szExeFile;
p.ProcessID := lppe.th32ProcessID;
l.Add(p);
lb_show.Items.Add(p.exefile);
found := Process32Next(Hand,lppe);
end;
end;
......
我如何根据上面得到的p,激活或者杀掉某一个进程?请写出程序段。
如果上面的有错误,应该怎样改?然后又怎样激活或者杀掉?
问题。但是我看那些例子看不懂,只好出重金求答案。
有如下程序片段:
......
var
mainform: Tmainform;
l : Tlist; ////返回的东东在"L"这个TList中。
type
TProcessInfo = Record
ExeFile : String;
ProcessID : DWORD;
end;
pProcessInfo = ^TProcessInfo;
implementation
{$R *.DFM}
procedure Tmainform.B_StartClick(Sender: TObject);
var
p : pProcessInfo;
lppe: TProcessEntry32;
found : boolean;
Hand : THandle;
begin
lb_show.Items.Clear;
l.Clear;
Hand := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
lppe.dwSize:=sizeof(lppe);
found := Process32First(Hand,lppe);
if not found then begin
showmessage('Found false!');
exit;
end;
while found do begin
New(p);
p.ExeFile := lppe.szExeFile;
p.ProcessID := lppe.th32ProcessID;
l.Add(p);
lb_show.Items.Add(p.exefile);
found := Process32Next(Hand,lppe);
end;
end;
......
我如何根据上面得到的p,激活或者杀掉某一个进程?请写出程序段。
如果上面的有错误,应该怎样改?然后又怎样激活或者杀掉?