【发布时间】:2011-03-31 13:02:24
【问题描述】:
我创建了一个应用程序来监视我的其他应用程序,它在我调试控制台或 vcl 应用程序时运行良好。
当我尝试查看服务应用程序时,它给了我一些问题,我注意到当我尝试“OpenProcess(PROCESS_QUERY_INFORMATION, False, PID);”时出现“访问被拒绝”。 但是如果通过 Delphi IDE 打开我的观察者,我就没有这个问题。
有人知道它是什么吗?
我的目的是打开进程以获取它的 GetProcessTimes,以检查它消耗了多少内存。 我知道 SysInternal 的 procexp.exe 可以毫无问题地做到这一点,有人知道他们是怎么做到的吗?
Tks 建议。
Obs:在我的机器上,我禁用了 UAC,并以管理员身份执行了 watcher。
新信息:
我发现要像访问其他类型的应用程序一样访问服务,我必须使用 OpenService。现在我可以毫无问题地访问它,现在我将搜索 GetProcessTimes 的类似命令。
【问题讨论】:
-
上次我看到 SysInternal 正在做的事情没有问题,结果发现它非常复杂
-
OpenService 不会帮助你。你需要 OpenProcess。