ViVi_M 2016-05-18 05:20 采纳率: 0%
浏览 2523

Qt项目中用QProcess打开了一个外部应用,怎么将这个外部应用关掉?

Qt项目中我设计了两个按钮,当点击其中一个按钮时用QProcess对象打开一个应用,点击另外一个按钮时想把打开的这个应用关掉,但是一直都没成功,怎么实现呢?

  • 写回答

1条回答 默认 最新

  • oyljerry 2016-05-18 05:44
    关注

    找到句柄来关闭进程

     #include <windows.h>
    ...
    class ProcessKiller : public QObject {
      qint64 m_pid;
    public:
      ProcessKiller(qint64 pid, QObject * parent = 0) : 
        QObject(parent), m_pid(pid) {}
      ~ProcessKiller() {
        HANDLE hApp = OpenProcess(PROCESS_QUERY_INFORMATION
                                  | PROCESS_TERMINATE, FALSE, m_pid);
        if (hApp == NULL) return;
        TerminateProcess(hApp, NULL);
        CloseHandle(hApp);
      }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试