Delphi 写了个程序,自动检测正在运行的进程,在XP系统下可以查到进程管理器中所有正在运行的进程,唯独查不到360安全卫士的进程,请高手指点

shtb8888 2009-07-23 10:55:34
Delphi 写了个程序,自动检测正在运行的软件
测试结果,所有正在运行的程序(除360安全卫士外),都可以检测到
唯独检测不到360安全卫士的进程,手工打开任务管理器,可以看到360安全卫士的进程正在运行,但Delphi 写的进程检测程序就是查不到360安全卫士。

提示:
在WINDOWS2003系统下面,可以检测到360安全卫士,甚至可以杀死
在WINDOWSXP系统下面,检测不到360安全卫士,也无法强行杀死

请高手指点!

...全文
302 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
JPEXE 2009-07-24
  • 打赏
  • 举报
回复
可能是权限不够,需要提权.
具体做法自己去搜搜,到处都有.
znj_326 2009-07-24
  • 打赏
  • 举报
回复
是你自己的程序不行,不是Delphi的程序不行
其实,取进程有很多种方法,
procedure TForm1.Button5Click(Sender: TObject);
var
wtsPInfo:PWTS_PROCESS_INFO;
WtsCount,i: Cardinal;
begin
ListView1.ViewStyle := vsReport;

WTSEnumerateProcesses(WTS_CURRENT_SERVER, 0, 1, wtsPInfo, WtsCount);
for i:= 0 to Pred(WtsCount) do
with ListView1.Items.Add do
begin
Caption := IntToStr(wtsPInfo.ProcessId);
SubItems.Add(wtsPInfo.pProcessName);
SubItems.Add(GetWTSString(wtsPInfo.SessionId,WTSUserName));
SubItems.Add(GetWTSString(wtsPInfo.SessionId,WTSApplicationName));
SubItems.Add(GetWTSString(wtsPInfo.SessionId,WTSWinStationName));
SubItems.Add(GetWTSString(wtsPInfo.SessionId,WTSDomainName));
SubItems.Add(GetWTSString(wtsPInfo.SessionId,WTSClientName));
Inc(wtsPInfo);
end;
end;

5,390

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧