在C#中如何判断程序是否已经启动,若已经启动则不重新启动,而用原启动过的程序来打开文件。比如说我编写了一个记事本软件,现在我双击打开一个文本文件,这个文本文件便在我写的记事本软件中打开。
当我再次打开一个文本文件的时候,判断一下我的记事本软件是否已经是打开状态,若是打开状态,则直接用打开过的记事本软件来打开文本文件,若记事本软件没有打开,则重新打开记事本软件再打开文本文件。表达的不怎么好,见谅。若有知道怎么写这一部分代码的朋友,请分享一下,谢谢。

解决方案 »

  1.   

    用信号量互斥,或者打开时用API的findwindow查找窗体,如果有,就用它打开
      

  2.   

    Process currentProcess = Process.GetCurrentProcess(); 
                Process[] procList = Process.GetProcessesByName(currentProcess.ProcessName);//根据进程的名称得到所有进程
                foreach (Process proc in procList)
                {}
    在打开文件