var
pe
ROCESSENTRY32;
me:MODULEENTRY32;
hp,hm:Thandle;
b,b1:boolean;
begin
hp:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0);
pe.dwSize:=SizeOf(pe);
b:=Process32First(hp,pe);
while bdo
begin
hm:=CreateToolHelp32SnapShot(TH32CS_SNAPModule,pe.th32ProcessID);
me.dwSize:=sizeof(ModuleEntry32);
if Module32First(hm,me) then
begin
b1:=Module32First(hm,me);
while b1do
begin
// if me.th32ModuleID=pe.th32ModuleID then
listbox1.Items.Add(copy(me.szExePath,length(extractfilepath(me.szExePath))+1,length(me.szExePath)-length(extractfilepath(me.szExePath))));
//移到路径只要文件名;
b1:=Module32Next(hm,me);
end;
end;
b:=Process32Next(hp,pe);
end;
这段代码可以列出当前所有在运行的EXE文件和DLL文件;
你在LISTBOX1中查找是否有你想要查找的文件(如DELPHI32.EXE),用一个循环就可搞定;
for i:=0 to listbox1.items.count-1do
begin
if listbox1.items
='delphi32.exe' then
begin
存在,执行存在代码;
break;
end
else
不存在;
end;