问题描述
publicvoidMyKeyDown(objectsender,KeyEventArgse){stringstrTemp=e.KeyData.ToString().ToLower();LogWrite("KeyDown-"+strTemp);}privatevoidLogWrite(stringtxt){textBox.AppendText(txt+Environment.NewLine);textBox.SelectionStart=textBox.Text.Length;}在以上文本框中输入内容,当输入word时,则打开officeword软件.当输入excel时,则打开officeexcel软件.提示:要求在MyKeyDown函数中判断用户输入的内容,根据输入的是word,还是excel来打开相应的软件.要求多次输入word或excel时,在计算机中只打开一个word或excel软件,而不是打开多个.usingSystem.Diagnostics;System.Diagnostics.Process.Start("c:\word.doc");
解决方案
解决方案二:
判断下if(Process.GetProcesses().Any(x=>x.Name.Contains("word")))word已经打开
解决方案三:
1#正解当然,如果你的.framework版本不支持linq的话,可以///<summary>///检测是否有多个实例运行///</summary>boolRepeatOpen(){ProcesscurrentProcess=Process.GetCurrentProcess();Process[]pa=Process.GetProcessesByName("word");returnpa.Length>1;}