C# WinForm里:
一个button 点击 实现:  (假如存在D:\a.txt)if(D:\a.txt正运行着)

      激活任务栏上D:\a.txt这个任务到桌面  就是让它从任务栏里跳出来 显示在桌面一切画面之上
}
else
{
  打开D:\a.txt 
}///////////////////////////////明白我的意思了没? 
就是看D:\a.txt这个文件是否是在运行  如果不在运行的话  就打开这个文件    如果已经在运行的话(包括缩在任务栏里的情况) 就激活这个任务  让它在桌面显示 并且显示在桌面一切画面之上  不再打开第二个这个文件就是        明白我的意思  能够解决的朋友 请指教  可直接提供实现codes   谢谢

解决方案 »

  1.   

    通过api findwindow按照窗口标题找窗体 能找到说明已经运行
      

  2.   

                System.Diagnostics.Process[] procVar = System.Diagnostics.Process.GetProcessesByName("notepad");
                bool flg = false;
                foreach (Process procName in procVar)
                {
                    if (procName.MainWindowTitle == "a.txt - 记事本") 
                    flg = true;
                }            if (flg)
                {
                    //显示出来
                }
                else
                {
                    System.Diagnostics.Process.Start("D:\\a.txt");
                }
    有事先走了....好运
      

  3.   

    谢谢4楼的朋友  我想要的其实就是你写  "//显示出来"  的那块  呵呵
    还有哦 你是针对我的a.txt这个文件说明的  可以用Process.GetProcessesByName("notepad")这个
    那如果我开的是D:\a.chm 呢 该怎么修改呢 谢谢  
    关键是显示出来那段没有解决   3Q all the same!!! 
      

  4.   

    估计要用api了.sendmessage或setwindowlong
      

  5.   

    前面各位已经说得很清楚了,用FindWindow查找,如果找到了用BringWindowToTop把这个窗体拉到最前端就行了.