问题是这样的:
1.通过Process的GetProcess()方法,可以获得所有进程的名字,那我能不能启动某个进程(我使用Process.Start(),可是它说要指定文件路径)
2,应用,比方说有一个窗体form1,我点击它的exe可执行文件时打开它,再次点击exe文件时打开已经存在的form1窗体,而不启动新的。
就像千千静听一样,单击一次时,打开它的窗体,再次打开时,它就打开已经存在的.
1.通过Process的GetProcess()方法,可以获得所有进程的名字,那我能不能启动某个进程(我使用Process.Start(),可是它说要指定文件路径)
2,应用,比方说有一个窗体form1,我点击它的exe可执行文件时打开它,再次点击exe文件时打开已经存在的form1窗体,而不启动新的。
就像千千静听一样,单击一次时,打开它的窗体,再次打开时,它就打开已经存在的.
Process [] localByName = Process.GetProcessesByName("ProcessName");
判断一下进程存在不存在,存在当然就不让启动新的。
现在的问题:怎样知道在进程表里的进程的执行路径?
p.StartInfo.FileName = @"c:\windows\system32\regedit.exe";
p.Start();2.这个应该要设置你的form1属性,使其不能创建多个实例。FormLoad方法中要多些处理,比如判断当前系统中是否已有该进程等。
Process[] ps = Process.GetProcesses();
foreach(Process p in ps )
fileName.Add(p.MainModule.FileName());