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

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

1个回答

找到句柄来关闭进程

 #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);
  }
}
WWEI1990
ViVi_M 还有没有其他方法呢?
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐