以下是一个使用 C# 编写的能够触发 Windows 服务的程序的示例代码:\n\ncsharp\nusing System;\nusing System.ServiceProcess;\n\nnamespace ServiceTrigger\n{\n class Program\n {\n static void Main(string[] args)\n {\n // 指定服务的名称\n string serviceName = \"MyService\";\n\n // 创建服务控制器对象\n ServiceController serviceController = new ServiceController(serviceName);\n\n try\n {\n // 如果服务当前状态为停止,则启动服务\n if (serviceController.Status == ServiceControllerStatus.Stopped)\n {\n // 启动服务\n serviceController.Start();\n // 等待服务启动完成\n serviceController.WaitForStatus(ServiceControllerStatus.Running);\n Console.WriteLine(\"服务已启动\");\n }\n // 如果服务当前状态为运行中,则停止服务\n else if (serviceController.Status == ServiceControllerStatus.Running)\n {\n // 停止服务\n serviceController.Stop();\n // 等待服务停止完成\n serviceController.WaitForStatus(ServiceControllerStatus.Stopped);\n Console.WriteLine(\"服务已停止\");\n }\n else\n {\n Console.WriteLine(\"无法确定服务的当前状态\");\n }\n }\n catch (Exception ex)\n {\n Console.WriteLine(\"操作服务时出现异常:\" + ex.Message);\n }\n finally\n {\n // 释放服务控制器对象\n serviceController.Close();\n serviceController.Dispose();\n }\n\n Console.ReadLine();\n }\n }\n}\n\n\n在上述代码中,我们创建了一个Program类,其中Main方法是程序的入口点。在Main方法中,我们首先指定了要操作的服务的名称(在示例中使用了"MyService"),然后创建了一个ServiceController对象。接下来,我们检查服务的当前状态,如果服务状态为停止,则启动服务;如果服务状态为运行中,则停止服务。最后,我们释放了ServiceController对象并等待用户输入。\n\n请注意,为了运行此程序,您需要以管理员身份运行命令提示符或使用Visual Studio以管理员身份运行。这是因为对于某些服务,需要管理员权限才能启动或停止。


原文地址: https://www.cveoy.top/t/topic/p1Vw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录