我有一个winform,允许我使用此代码启用和禁用我所有8岁的网络适配器:
protected override void OnStart(string[] args)
{
//start timer
SelectQuery query = new SelectQuery("Win32_NetworkAdapter","NetConnectionStatus=2");
ManagementObjectSearcher search = new ManagementObjectSearcher(query);
foreach (ManagementObject result in search.Get())
{
NetworkAdapter adapter = new NetworkAdapter(result);
adapter.Disable();
enabled = false;
}
InternetCheckTimer.Start();
}
假设我使用admin运行,此代码在win表单上正常工作。我从来没有写过win服务,所以问题可能就是其他地方,我可以使用installutill进行安装并将调试器附加到进程,但是没有破坏点。我已经尝试启动和停止进程并且无法让调试器连接,所以我可能也会做错了...现在我假设代码正在运行而且我太愚蠢了,无法让调试器工作。也就是说,我认为我的代码要求服务具有像表单一样的管理员才能工作。
如果不清楚,我很抱歉,如果您需要更多信息,我会尽力清理它。
答案 0 :(得分:0)
使用服务的用户和密码,并确保启动服务的用户具有运行应用程序所需的所有权限。 如果您可以控制服务,另一种可能性是使用模拟,请参阅:http://www.codeproject.com/Articles/4051/Windows-Impersonation-using-C。
答案 1 :(得分:0)
你可以尝试几种选择。
答案 2 :(得分:-2)
如何在Windows 7中获得完全管理员权限:
你们都完成了!