我正在尝试创建一个应用程序,该应用程序将在特定时间执行操作(很像Windows任务计划程序)。我目前使用Process.Start()来启动任务所需的文件(或exe)。使用System.Diagnostic.Process.Start(“FileName”)启动的杀死进程
我通过调用文件(.mp3)启动进程,并且进程启动WMP(因为它是默认应用程序)。到现在为止还挺好。现在我想杀死那个过程。我知道在这种情况下Process.Start(string,string)不返回任何内容(C#中的null)是正常行为。
所以我问我如何关闭WMP,当我通过Process.Start(字符串,字符串)调用它?
编辑:
请注意,我不跟的Process.Start(直接打开WMP),这是我将运行过程中的行:
VB:Me._procs.Add(的Process.Start(Me._procInfo))C#:this._procs.Add(的Process.Start(this._procInfo))
_procInfo是一个的ProcessStartInfo实例。 _procInfo.FileName是“C:\ route \ myFile.mp3”。这就是WMP打开的原因。在任何情况下,除了返回布尔值的实例之外,所有Start()方法都不返回任何内容(C#中的空值),因为WMP不是直接创建的进程(请注意,WMP运行且歌曲确实播放)。
据我所知,如果没有进程实际启动,例如Process.Start只会返回null。一个现有的过程被重新使用来加载文件(在你的情况下,一个MP3文件)。你真的想要杀死你的代码并没有真正开始的过程吗? – Ani 2010-10-02 20:21:40
@Ani - 静态开始调用所有返回进程,但成员函数返回bool – 2010-10-02 20:42:49
@Steve Townsend:是的,但我相信OP正在谈论静态方法。如果对一个非null的Process对象的引用已经可用,那么问题就不存在了。 – Ani 2010-10-02 20:44:43