读书人

c# 获取当前实例的有关问题

发布时间: 2012-09-14 23:00:49 作者: rapoo

c# 获取当前实例的问题
我使用互斥体的方法来实现了只运行一个程序:

C# code
   static void Main()        {            bool runone;            System.Threading.Mutex run = new System.Threading.Mutex(true, "xinbiao_a_test", out runone);            if (runone)            {              run.ReleaseMutex();              Application.EnableVisualStyles();              Application.SetCompatibleTextRenderingDefault(false);              Application.Run(new Form1());            }            else            {                MessageBox.Show("已经运行了一个实例了。");                //如何获取这个已经运行的实例呢????            }        }


请问在MessageBox.Show("已经运行了一个实例了。") 这个地方,如果获取当前已经运行的窗体,并进一步操作。我尝试用了
Application.OpenForms 但是获取不到当前已经运行的窗体,但是我需要在这个已经运行的窗体上进行一些操作,希望各位大侠帮忙解决下,最好是有详细的代码

[解决办法]
C# code
System.Diagnostics.Process[] allProcess = System.Diagnostics.Process.GetProcesses();            foreach (System.Diagnostics.Process thisprocess in allProcess)            {                string processName = thisprocess.ProcessName;                if (processName.ToLower() == "进程名字")                {                    try                    {                        //LZ在这操作你要操作的东西                    }                    catch (Exception e)                    {                        MessageBox.Show(e.Message);                        return;                    }                }            } 

读书人网 >C#

热点推荐