如何调用单一外部程序?
ProcessStartInfo   psi   =   new   ProcessStartInfo( "help.exe "); 
 Process   ps   =   Process.Start(psi);   
 在一个按钮的事件里面我调用了一个“help.exe”,显示了一个帮助的flash文件,如何让之后点击这个按钮时让焦点到这个flash文件上来,不再显示更多的帮助文件?   
 现在的问题是多点一下就多显示一个帮助文件。
------解决方案--------------------//也许是这样   
 Process[] vProcesses = Process.GetProcessesByName( "help.exe "); 
 if (vProcesses.Length  <= 0) 
 { 
     ProcessStartInfo psi = new ProcessStartInfo( "help.exe "); 
     Process ps = Process.Start(psi); 
 } 
 else  
 { 
     //ShowWindow(vProcesses[0].MainWindowHandle, SW_SHOW);//API 
 } 
------解决方案--------------------使用singleton模式,在类的构造函数中使用process启动 "help.exe ",并在重复判断时,将help.exe进程主窗口提前
------解决方案--------------------public static void CreateProcess(string fn, string Arguments, MsgCallback Callback) 
         { 
             ProcessStartInfo pi = new ProcessStartInfo(); 
             pi.FileName = fn; 
             pi.Arguments = Arguments; 
             pi.UseShellExecute = false; 
             pi.CreateNoWindow = true; 
             pi.WindowStyle = ProcessWindowStyle.Hidden; 
             pi.RedirectStandardOutput = true; 
             pi.RedirectStandardError = true;            
             System.Diagnostics.Process p = new Process();                           
             p.StartInfo = pi; 
             p.Start();   
            while (!p.HasExited) 
            {                
                System.Windows.Forms.Application.DoEvents();   
                if (Callback != null) 
                { 
                    string s; 
                    while ((s = p.StandardOutput.ReadLine()) != null) 
                    { 
                        Callback(s); 
                    } 
                } 
                p.WaitForExit(100); 
            }              
         }
------解决方案--------------------public delegate void MsgCallback(string msg);
------解决方案--------------------up
------解决方案--------------------大哥,你就不能google一下? 
 这样不就行了: 
         [DllImport( "user32.dll ", EntryPoint =  "FindWindow ")] 
         private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);   
         [DllImport( "user32.dll ")] 
         static extern IntPtr SetActiveWindow(IntPtr hWnd);   
         [DllImport( "user32.dll ")] 
         [return: MarshalAs(UnmanagedType.Bool)] 
         static extern bool SetForegroundWindow(IntPtr hWnd);   
             IntPtr DIALOG_HANDLER = FindWindow(null, 进程主窗体名); 
             if (DIALOG_HANDLER != IntPtr.Zero) 
             { 
                 SetForegroundWindow(DIALOG_HANDLER); 
             }