【问题标题】:Problems with OpenProcess while not in IDE不在 IDE 中的 OpenProcess 问题
【发布时间】: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。

标签: delphi winapi


【解决方案1】:

已解决,我继续使用 OpenProcess 但我使用 PROCESS_QUERY_LIMITED_INFORMATION (0x1000) 来访问它。问题只是权限,使用它我可以访问进程并使用 GetProcessTimes 来获取我需要的内容。

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 2013-04-19
    相关资源
    最近更新 更多