delphi结束包含指定字符的进程

来源:百度知道 编辑:UC知道 时间:2024/05/28 04:02:46
delphi如何结束 包含 MEMO内的字符 的所有进程

要详细代码
一楼的兄弟,也许是我没说明白
我的意思是包含memo内的字符的进程
而不是说memo内是完整的进程名
那只是字符串,要求查找所有进程
只要是进程名内存在memo内的字符就要结束

二楼的兄弟,是我问的不太准确,我需要的是 memo内的是窗口标题,不是进程名字
需要判断每个进程的窗口标题是否含有memo内的字符
如果存在就要关闭此窗口或者结束此窗口对应的进程

自己解决了

那要先把系统中所有的进程先读取出来,存到MEMO1中,然后把MEMO2中的字符串去和MEMO1中的进程比较,有则结束,读取系统进程的代码不知道怎么写,楼主网上去找找.
=======================
看代码吧,MEMO1中是读取到的系统进程,MEMO2中是想要结束的进程.你去试试可不可以.
procedure TForm1.Button2Click(Sender: TObject);
var
i,a:integer;
begin
for i:=0 to memo2.Lines.Count-1 do
begin
for a:=0 to memo1.Lines.Count-1 do
begin
if pos(Uppercase(memo2.Lines.Strings[i]),Uppercase(memo1.lines.Strings[a]))>0 then
begin
KillTask(memo1.lines.Strings[a]);
end
end;
end;
end

==========================
uses
Tlhelp32;

function KillTask(ExeFileName:string):integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOLean;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);