qt WINDOWS环境结束进程
虽然方法能查到,这里总结一下,以后方便回顾一下
1、QProcess
- QProcess p;
- QString c = "taskkill /im DingTalk.exe /f";
- p.execute(c);
- p.close();
直接执行CMD中的命令,注意空格!!!
2、系统API
根据进程名称先找到进程PID,再根据PID杀死进程
- #include <Windows.h>
- #include <tlhelp32.h>
- #include <string.h>
- using namespace std;
- /*根据进程名称杀死进程
- *1、根据进程名称找到PID
- *2、根据PID杀死进程
- */
- int killTaskl(const QString& exe)
- {
- //1、根据进程名称找到PID
- HANDLE hProcessSnap;
- PROCESSENTRY32 pe32;
- hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
- if (hProcessSnap == INVALID_HANDLE_VALUE)
- {
- return -1;
- }
- pe32.dwSize = sizeof(PROCESSENTRY32);
- if (!Process32First(hProcessSnap, &pe32))
- {
- CloseHandle(hProcessSnap);
- return -1;
- }
- BOOL bRet = FALSE;
- DWORD dwPid = -1;
- while (Process32Next(hProcessSnap, &pe32))
- {
- //将WCHAR转成const char*
- int iLn = WideCharToMultiByte (CP_UTF8, 0, const_cast<LPWSTR> (pe32.szExeFile), static_cast<int>(sizeof(pe32.szExeFile)), NULL, 0, NULL, NULL);
- std::string result (iLn, 0);
- WideCharToMultiByte (CP_UTF8, 0, pe32.szExeFile, static_cast<int>(sizeof(pe32.szExeFile)), const_cast<LPSTR> (result.c_str()), iLn, NULL, NULL);
- if (0 == strcmp(exe.toStdString().c_str(), result.c_str ()))
- {
- dwPid = pe32.th32ProcessID;
- bRet = TRUE;
- qDebug()<<"zhaodao";
- break;
- }
- }
- CloseHandle(hProcessSnap);
- qDebug()<<dwPid;
- 2、根据PID杀死进程
- HANDLE hProcess=NULL;
- //打开目标进程
- hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,dwPid);
- if (hProcess==NULL) {
- qDebug()<<"Open Process fAiled ,error:"<<GetLastError();
- return -1;
- }
- //结束目标进程
- DWORD ret=TerminateProcess(hProcess,0);
- if(ret==0) {
- qDebug()<<"kill task faild,error:"<<GetLastError();
- return -1;
- }
- return 0;
qt WINDOWS环境结束进程相关推荐
- windows下结束进程命令
windows下结束进程命令 1.netstat -aon|findstr "端口" 命令"netstat" 查看端口状态 2.tasklist|findstr ...
- Qt Windows 环境搭建
IDE和编译器的选择 众所周知 Qt Creator 是一个 IDE,与 Visual Studio 类似,可以用来开发应用程序. 而IDE可以指定不同的编译器与调试器来编译及调试程序. 下面介绍一下 ...
- windows 无法结束进程怎么办?怎样强制结束进程
有些进程是任务管理器不能杀死的,因为是system权限,二任务管理器 是admintor权限,所以需要想办法.' 由于博主不熟悉dos命令,用惯了linux命令,又不想学dos命令,所以只能求助第三方 ...
- Windows任务管理器结束进程“拒绝访问”解决办法
被测软件:360 工具:命令提示符 终止任务时提示拒绝访问 找到文件位置,获取文件名 转到详细信息找到此程序,记录PID win+R运行cmd 键入 tskill 11380 回车就可以关闭了 我也试 ...
- 强制结束进程的命令和软件
有时,我们在进程中发现可疑进程时,用Windows的任务管理器并不一定能结束它,这时,我们需要更多更强大的强制结束进程的命令或软件来对付它,下面介绍两个Windows强制结束进程的命令和一个我常用的进 ...
- window结束进程命令
windows下结束进程命令 1.netstat -aon|findstr "端口" 命令"netstat" 查看端口状态 2.tasklist|findstr ...
- 加密狗+AES算法在QT Windows下的加密简析例程
目录 一. 前言 二. 相关知识 三.效果展示 四.加密解密流程 五.主要函数解析 六.源码/相关包 一. 前言 本例主要简析加密狗加密解密的过程,结合实体加密狗和AES加密算法,提供QT Win ...
- Qt最新版5.12在Windows环境静态编译安装和部署的完整过程(VS2017)
文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...
- tasklist 结束进程_Windows: windows下的终止进程的命令(tasklist/tskill)
在Unix/Linux下可以使用ps/kill命令查找/终止一个正在运行的进程, Windows平台下也有一组类似的命令: tasklist/tskill C:\>tskill /? 结束进程. ...
最新文章
- json 和 pickle
- 【Vegas2007】11月23日-螃蟹的做法(蒸煮两法)
- 重装云服务器上的系统后的重新部署项目
- NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(四)
- 作者:张坦(1989-),女,西安交通大学管理学院信息系统系博士生
- Python的基础知识【面试遇到】
- #333. 【NOIP2017】宝藏
- IIS5.1安装设置-Sql Sever2008安装设置-移动端设置等必读
- DWM1000开启后TX、RX、SFD、RXOK均不亮的原因
- VM无法获取 vmci 驱动程序版本句柄无效解决办法
- python 动态for循环的循环范围_Python中for循环的动态范围
- 串口的使用–蓝牙模块
- 移动硬盘安装ubuntu16.04
- access的未来发展 ieee_如何评价 IEEE Access 成为了 Top 期刊?
- 如何隐藏CAD图纸中的部分图形对象?CAD局部隐藏
- 《Effective Java》——学习笔记(泛型枚举和注解)
- 征信系统出新政 互联网金融与征信互补
- python调用win32实现电脑语音 win32com.client.Dispatch('SAPI.SPVOICE') 出错的问题
- ASE高级软件工程 热身作业!
- 六、LVM与磁盘配额