如何检测进程。

来源:百度知道 编辑:UC知道 时间:2024/06/17 13:19:25
打开自己的程式 然后检测进程里面是否有QQ.exe QQ的主目录跟自己的程序在同一目录,

如果进程里没有QQ 则帮它打开,如果有则帮它关闭

delphi7应该如何实现? 意思就是要打开qq.exe 然后再自动帮它关掉

下面的代码是我程序里面粘贴的,我定义这个函数可以把计算机当前的所有进程找出来写到一个字符串列表里面,你轻易改一下就能满足你的搜索是否存在QQ.EXE的功能,我的程序是:

function TYMessageMainForm.ProcListStr:string;
var
ContinueLoop: BOOL;
FSnapshotHandle:THandle;
FProcessEntry32:TProcessEntry32;
begin
Result:='';
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);
ContinueLoop:=Process32First(FSnapshotHandle,FProcessEntry32);
while integer(ContinueLoop)<>0 do begin
Result := Result + #13#10 + IntToStr(FProcessEntry32.th32ProcessID) +#9+
IntToStr(FProcessEntry32.th32ParentProcessID) +#9+
IntToStr(FProcessEntry32.cntThreads) +#9+
FProcessEntry32.szExeFile;
ContinueLoop:=Process32Next(FSnapshotHandle,FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;

执行程序可以使用WinExec函数,下面是我程序里面的例子:
WinExec(MyName,SW_SHOW);