当前位置:网站首页>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.输出:
边栏推荐
- 四大网络攻击常见手段及防护
- leetcode经典例题——56.合并区间
- 获取cpu的核数
- MATLAB/Simulink快捷键
- ps如何换背景颜色,自学ps软件photoshop2022,3种不同的方式笔记记录
- 注意力机制
- About Oracle RAC 11g rebuilding the disk group
- MySQL binlog都有哪些模式?
- Inheritance and the static keyword
- [Punctuality Atomic STM32 Serial] Chapter 1 Learning Method of the Book Excerpted from [Punctuality Atomic] MiniPro STM32H750 Development Guide_V1.1
猜你喜欢
.NET深入解析LINQ框架(五:IQueryable、IQueryProvider接口详解)
蜜芽CEO刘楠:垂直电商黄金时代已落幕 坚定转型品牌之路
《福格行为模型》:如何养成好习惯?
MindSpore:【mindinsight】【Profiler】用execution_time推导出来的训练耗时远小于真实的耗时
Grafana9.0发布,Prometheus和Loki查询生成器、全新导航、热图面板等新功能!
【正点原子STM32连载】第四章 STM32初体验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
Producer and Consumer Problems in Concurrent Programming
蘑菇书EasyRL学习笔记
数据万象内容审核 — 共建安全互联网,专项开展“清朗”直播整治行动
已解决No module named ‘flask_misaka‘【BUG解决】
随机推荐
【C补充】指针相关知识点收集01
抬升市场投资情绪,若羽臣是否还需“自身硬”?
oracle sql multi-table query
[Punctuality Atomic STM32 Serial] Chapter 1 Learning Method of the Book Excerpted from [Punctuality Atomic] MiniPro STM32H750 Development Guide_V1.1
Layer 3 Switch/Router OSPF Configuration Details [Huawei eNSP Experiment]
菲沃泰科创板上市:市值123亿 宗坚赵静艳夫妇身价76亿
94后字节P7晒出工资单:狠补了这个,真不错...
如何快速将Zabbix5.0升级至6.0?
Apache Druid 实时分析数据库入门介绍
GBsae 8c 数据库使用中报错,肿么办?
tcp连接的细节
【正点原子STM32连载】第三章 开发环境搭建 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
JSP基本语法
请问同一个oracle cdc表,如果flink job重新提交,是会全量读取一遍源数据还是增量呢?
三层交换机配置MSTP协议详解【华为eNSP实验】
2022-08-02 Analyze RK817 output 32k clock PMIC_32KOUT_WIFI to WiFi module clock register devm_clk_hw_register
How to restore the Youxuan database with only data files
获取cpu的核数
IDEA 自动导入的配置(Auto import)
I am 37 this year, and I was rushed by a big factory to...