读书人

怎么知道已运行的相同程序的个数

发布时间: 2012-03-01 10:25:47 作者: rapoo

如何知道已运行的相同程序的个数?
怎样能算出已打开运行的相同程序的数目?

[解决办法]
枚举窗口,然后计数
[解决办法]
1 程序计数
2 进程枚举

[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
function FindProcess(AFileName: string): Integer;
var
hSnapshot: THandle;
lppe: TProcessEntry32;
Found: Boolean;
KillHandle: THandle;
i:Integer;
begin
i:=0;
hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
lppe.dwSize := SizeOf(TProcessEntry32);
Found := Process32First(hSnapshot, lppe);
while Found do
begin
if ((UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase(AFileName)) or (UpperCase(lppe.szExeFile )=UpperCase(AFileName))) then
begin
Inc(I);
end;
Found := Process32Next(hSnapshot, lppe);
end;
Result:=I;
end;
begin
showmessage( intToStr( FindProcess( 'svchost.exe ') ) );
end;


---------------------------
Project1
---------------------------
5
---------------------------
OK
---------------------------

[解决办法]
up
[解决办法]
good

读书人网 >.NET

热点推荐