问题描述
- Qt项目中用QProcess打开了一个外部应用,怎么将这个外部应用关掉?
-
Qt项目中我设计了两个按钮,当点击其中一个按钮时用QProcess对象打开一个应用,点击另外一个按钮时想把打开的这个应用关掉,但是一直都没成功,怎么实现呢?
解决方案
解决方案二:
找到句柄来关闭进程
#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);
}
}
时间: 2024-09-17 04:39:42