【问题标题】:Close windows application关闭窗口应用程序
【发布时间】:2011-04-19 05:46:37
【问题描述】:

是否可以关闭正在运行的应用程序与另一个应用程序?

我已经实现了APP1.exeAPP1_UNIN.exe,我希望APP1_UNIN.exe 杀死运行APP1.exe 并卸载它。 有可能吗?

【问题讨论】:

    标签: c# uninstallation


    【解决方案1】:

    要卸载应用程序,您可以启动一个新进程并调用msiexec.exe,并在command line 上指定要卸载的内容:

    ProcessStartInfo psi;
    //take your choice of which you want to use:
    psi = new ProcessStartInfo("msiexec.exe", string.Format("/x {0}", "path of my msi"));
    psi = new ProcessStartInfo("msiexec.exe", string.Format("/x /n {{{0}}}", "my product code"));
    Process p = new Process();
    p.StartInfo = psi;
    p.Start();
    

    【讨论】:

      【解决方案2】:

      使用 System.Diagnostics.Process 类:

      http://msdn.microsoft.com/en-us/library/system.diagnostics.process.closemainwindow(v=VS.71).aspx

      还有一个Kill方法。

      【讨论】:

        【解决方案3】:

        至少要杀死正在运行的进程,您可以这样做:

        Process[] processes = Process.GetProcesses();
        foreach (Process process in processes) {
          if (process.ProcessName == "APP1.exe") {
            try {
              process.Kill();
              break;
              } catch (Exception) { 
                //handle any exception here
              }
            }
          }
        }
        

        关于卸载,我不确定。

        【讨论】:

          【解决方案4】:

          要关闭,您可以通过终止其进程来完成。 System.Diagnostics.Process

          Process []pArray = Process.GetProcesses();
          
          foreach(Process prc in pArray) {
              string s = prc.ProcessName;
              if (s.CompareTo("APP1") ==0) {
                  prc.Kill();
              }
          }
          

          【讨论】:

            【解决方案5】:

            是,使用 System.Diagnostics

            你可以获取进程并杀死进程。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-09-19
              • 1970-01-01
              • 2012-08-29
              相关资源
              最近更新 更多