当前位置:网站首页>Qt:小的任务管理器(task)
Qt:小的任务管理器(task)
2022-08-04 09:21:00 【@布响丸辣】
1.widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <windows.h>
#include <tlhelp32.h>
#include <QTableWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
public:
void showProcess();
private slots:
void on_pushButton_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
2.widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->tableWidget->setSelectionMode(QTableWidget::SingleSelection);
ui->tableWidget->setSelectionBehavior(QTableWidget::SelectRows);
showProcess();
}
Widget::~Widget()
{
delete ui;
}
void Widget::showProcess()
{
//获取进程信息的链表
HANDLE hsnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hsnapShot == INVALID_HANDLE_VALUE)return;
//获取链表的头
PROCESSENTRY32 pe;
pe.dwSize = sizeof(PROCESSENTRY32);
BOOL bFlag = Process32First(hsnapShot,&pe);
QString str;
int i = 0;
while(bFlag)
{
str = QString::fromWCharArray(pe.szExeFile);
ui->tableWidget->setItem(i,0,new QTableWidgetItem(str));
str = QString::number(pe.th32ProcessID);
ui->tableWidget->setItem(i,1,new QTableWidgetItem(str));
str = QString::number(pe.cntThreads);
ui->tableWidget->setItem(i,2,new QTableWidgetItem(str));
//遍历链表
bFlag = Process32Next(hsnapShot,&pe);
i++;
}
}
void Widget::on_pushButton_clicked()
{
//获取当前选择项 id
QList<QTableWidgetItem*> lstitem = ui->tableWidget->selectedItems();
QTableWidgetItem* pItem = lstitem.front();
//获取选中行
int nrow = ui->tableWidget->row(pItem);
lstitem.pop_front();
pItem = lstitem.front();
lstitem.pop_front();
QString strid = pItem->text();
if(strid.isEmpty())return;
//获取句柄
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE,0,strid.toInt());
//杀死进程
if(hProcess)
{
TerminateProcess(hProcess,-1);
ui->tableWidget->removeRow(nrow);
}
}
3.

4.输出:

边栏推荐
- 2022 Cloud Native Computing代表厂商 | 灵雀云第三次入选Gartner中国ICT技术成熟度曲线报告
- LeetCode简单题之最好的扑克手牌
- It is found that several WRH tables are locked, what should I do?
- 下午14:00面试,14:08低着头出来了 ,问的实在是太...
- 三层交换机/路由器OSPF配置详解【华为eNSP实验】
- 张朝阳对话俞敏洪:谈宇宙、谈焦虑、谈创业、谈退休、谈人生
- leetcode单调栈经典例题——最大矩形
- Since his 97, I roll but he...
- recursive thinking
- Interview at 14:00 in the afternoon, I came out at 14:08 with my head down, asking too much...
猜你喜欢

我和 TiDB 的故事 | 缘份在,那就终是能相遇的

ps抠图怎么抠出来,自学ps软件photoshop2022,ps怎么抠出想要的部分-笔记记录

2022 Cloud Native Computing代表厂商 | 灵雀云第三次入选Gartner中国ICT技术成熟度曲线报告

Interview at 14:00 in the afternoon, I came out at 14:08 with my head down, asking too much...

ISO14443A读卡流程(作为示例参考)

思想茶叶蛋 (Jul 31,2022)| 元宇宙(Metaverse)下了一枚什么样的蛋

三层交换机/路由器OSPF配置详解【华为eNSP实验】
![[Punctuality Atom STM32 Serial] Chapter 3 Development Environment Construction Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1](/img/6f/c736a3404377961e92b3bd1b5ea90e.png)
[Punctuality Atom STM32 Serial] Chapter 3 Development Environment Construction Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1

sync-diff-inspector 使用实践

TiDB升级与案例分享(TiDB v4.0.1 → v5.4.1)
随机推荐
数据万象内容审核 — 共建安全互联网,专项开展“清朗”直播整治行动
[Punctuality Atom STM32 Serial] Chapter 3 Development Environment Construction Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
命里有时终须有--记与TiDB的一次次擦肩而过
【COS 加码福利】COS 用户实践有奖征文,等你来投稿!
2022 Cloud Native Computing代表厂商 | 灵雀云第三次入选Gartner中国ICT技术成熟度曲线报告
暴力破解-破解 Apache BASIC 认证
About Oracle RAC 11g rebuilding the disk group
三层交换机配置MSTP协议详解【华为eNSP实验】
Explanation of spark operator
v-model原理,在“radio”、“checkbox”、“select”、修饰符
三层交换机/路由器OSPF配置详解【华为eNSP实验】
Producer and Consumer Problems in Concurrent Programming
MindSpore:Batchnorm only support nchw input!
暴力破解ssh/rdp/mysql/smb服务
MindSpore:MindSpore GPU版本安装问题
JSP基本语法
各位大佬,请问mysql数据的cdc,能指定存量数据同步的zone为utc 吗
Could you please talk about how the website is accessed?[Interview questions in the web field]
Apache APISIX 2.15 版本发布,为插件增加更多灵活性
华为od项目