System.ComponentModel.Win32Exception : 访问被拒绝
本文关键字:拒绝 访问 ComponentModel Win32Exception System | 更新日期: 2023-09-27 18:32:39
我有Windows服务。我正在使用性能计数器类从域计算机获取 CPU 数据。我正在使用域管理员权限运行我的代码。
所以问题就在这里,我能够在Visual Studio中运行代码时使用PerformanceCounter获取CPU数据。但是,安装Windows服务后,相同的代码不起作用。
代码如下:
PerformanceCounter pc = new PerformanceCounter();
pc.MachineName = "ws-Rahul";
pc.CategoryName = "Processor";
pc.CounterName = "% Processor Time";
pc.InstanceName = "_Total";
double value = pc.NextValue();
以下是例外情况:
System.ComponentModel.Win32Exception : {"Access is denied"}
服务通常作为网络服务或本地系统运行,除非您已过度配置它们。听起来您尚未更改服务登录用户。您可以通过右键单击服务并转到"登录"选项卡从服务控制管理器执行此操作。或者你可以从命令行完成:
sc config ServiceName obj= Domain'user password= pass
请注意obj=
和Domain'user
之间的空格,它不是拼写错误。这是必需的。password=
也是如此.