C# 管理Windows服务(创建、删除、启动、停止、参数)

C# 管理Windows服务(创建、删除、启动、停止、参数),c#,windows-services,C#,Windows Services,我想做的是, 我有一个可执行文件(myService.exe)。它是一个windows服务,支持启动、停止和其他类似选项。它使用一个参数(文件名)并在其上运行其survices。 e、 g.c:\myService.exe someFileName.dat 现在我正在制作一个c#windows窗体应用程序。我正在从一个文本框中读取文件名,然后单击按钮事件,我想这样做 检查机器上是否安装了myServices.exe 如果它已安装,那么我必须检查它是否处于运行状态 如果它处于运行状态,则停止它 停

我想做的是, 我有一个可执行文件(myService.exe)。它是一个windows服务,支持启动、停止和其他类似选项。它使用一个参数(文件名)并在其上运行其survices。 e、 g.c:\myService.exe someFileName.dat

现在我正在制作一个c#windows窗体应用程序。我正在从一个文本框中读取文件名,然后单击按钮事件,我想这样做

  • 检查机器上是否安装了myServices.exe
  • 如果它已安装,那么我必须检查它是否处于运行状态
  • 如果它处于运行状态,则停止它
  • 停止后,我需要卸载该服务
  • 卸载后,我想再次安装它,必须将filename作为服务参数,然后运行它

  • 我已经尝试过了,但我必须为不存在的服务提供参数。

    为什么不创建一个windows应用程序使用的列表,或者如果您一直在使用windows服务应用程序,请创建一个windows服务应用程序使用的.config文件,并在其中存储初始目录。使用FileInfo和DirectoryInfo以及GetAllFiles()方法将文件存储在列表中,并迭代列表varList=new List();变量对象那样


    您还可以创建一个Web服务,并让windows应用程序使用该Web服务,方法与您希望向附加/第三方程序集添加引用的方法相同。您有很多选项

    为什么不创建一个windows应用程序使用的列表,或者如果您一直在使用windows服务应用程序,为什么不创建一个windows服务应用程序使用的.config文件并将初始目录存储在其中呢。使用FileInfo和DirectoryInfo以及GetAllFiles()方法将文件存储在列表中,并迭代列表varList=new List();变量对象那样


    您还可以创建一个Web服务,并让windows应用程序使用该Web服务,方法与您希望向附加/第三方程序集添加引用的方法相同。您拥有的许多选项

    服务不支持命令行参数。鉴于您希望使用Winforms应用程序来控制它,有强有力的证据表明您实际上不想使用服务。在这方面,您可以通过编写不创建主窗口的Winforms应用程序来创建一个类似于服务的进程(接受命令行,无用户界面)。服务不支持命令行参数。鉴于您希望使用Winforms应用程序来控制它,有强有力的证据表明您实际上不想使用服务。在这方面,您只需编写一个不创建主窗口的Winforms应用程序,就可以创建一个类似于服务的流程(接受命令行,无用户界面)。