XP 64 位上的性能计数器问题

发布于 2024-10-12 09:24:27 字数 586 浏览 7 评论 0原文

我有一个用于监视内存/处理器性能的 C# 应用程序。我只需要执行读取操作 - 因此应用程序应该作为受限用户正常运行。

该应用程序在我可以使用的每个操作系统/用户级别(管理员/受限)组合(XP/Vista/7)上都运行良好,除非我使用 XP 64 位。对于 XP x64,它崩溃并出现访问异常,提示我没有足够的权限。

有没有人成功地让性能计数器在 XP x64 上的有限用户下工作?如果是这样 - 你是如何让它发挥作用的?

一些注意事项:

  • 我无法修改注册表
  • 我无法接受用户必须属于“性能监视器”用户组的限制

正如我所说,该应用程序在 XP (x86)、Vista (x86/64) 上运行良好), 7 (x86/64) -- 所以我不确定为什么 XP x64 如此挑剔......

感谢所有帮助。

谢谢,

编辑:

这是失败的行:

c = new PerformanceCounter("Processor", "% Processor Time", "_Total", true);

I've got a C# application that monitors memory/processor performance. I only need to perform read operations -- so the app should run fine as a limted user.

The application runs fine on every OS/user level (admin/limited) combo I can throw at it (XP/Vista/7) except when I hit XP 64 bit. With XP x64 it crashes with an access exception saying I don't have sufficient permissions.

Has anyone succeeded in getting performance counters to work under limited users on XP x64? If so - how'd you get it to work?

A couple of notes:

  • I can't modify the registry
  • I can't accept the restriction that users must be in the "Performance Monitors" user group

Like I said, the app runs fine on XP (x86), Vista (x86/64), 7 (x86/64) -- so I'm not sure why XP x64 is being so picky....

All help is appreciated.

Thanks,

Dan

Edit:

Here's the line that fails:

c = new PerformanceCounter("Processor", "% Processor Time", "_Total", true);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文