我有一個由服務和可執行文件組成的應用程序。基本上它是一個表單應用程序,負責在特定情況下啓動和停止服務。Windows 7中的ServiceController權限
在Windows XP應用程序使用下面的代碼管理這個罰款:
ServiceController controller = new ServiceController();
controller.MachineName = ".";
controller.ServiceName = "XXXXXXXXXX";
controller.Stop();
controller.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
controller.Start();
但在Windows 7中,即使我已經啓動的應用程序作爲管理員,我得到以下異常:
System.InvalidOperationException: Cannot open XXXXXXXXXXXXX service on computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied
--- End of inner exception stack trace ---
at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
at System.ServiceProcess.ServiceController.Start(String[] args)
at System.ServiceProcess.ServiceController.Start()
有什麼我可以通過編程來解決這個問題嗎?
對不起是一個傻瓜 - 我用一個快捷方式啓動,並在我的一臺測試機上設置了這個快捷方式,以管理員身份運行(並提示輸入UAC),但在機器上我得到了這個異常,請適當修改快捷方式。 – 2010-10-08 16:01:27