61.列表重绘

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:易道云信息技术研究院

上一个内容:60.分析对比模块找出被注入的模块

以 60.分析对比模块找出被注入的模块 它的代码为基础进行修改

效果图:

给分析列表添加自定义绘图操作通知父级事件的实现

CWndModuleList.cpp文件的修改:

void CWndModuleList::GetModList(DWORD Pid)
{LstModule.DeleteAllItems();HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, Pid);if (hSnap != INVALID_HANDLE_VALUE) {MODULEENTRY32 modl{ sizeof(MODULEENTRY32) };BOOL BMORD = Module32First(hSnap, &modl);while (BMORD) {CString txt;txt.Format(L"%X", modl.hModule);LstModule.InsertItem(0, modl.szModule);LstModule.SetItemText(0, 1, txt);txt.Format(L"%X", modl.modBaseSize);LstModule.SetItemText(0, 2, txt);LstModule.SetItemText(0, 3, modl.szExePath);BMORD = Module32Next(hSnap, &modl);}}CloseHandle(hSnap);
}

CWndModAnly.cpp文件的修改


void CWndModAnly::OnNMCustomdrawList1(NMHDR* pNMHDR, LRESULT* pResult)
{LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);// TODO: 在此添加控件通知处理程序代码*pResult = 0;NMLVCUSTOMDRAW* lp = (NMLVCUSTOMDRAW*)pNMHDR;auto& cmd = lp->nmcd;switch (cmd.dwDrawStage){case CDDS_PREPAINT: {*pResult = CDRF_NOTIFYITEMDRAW;break;}case CDDS_ITEMPREPAINT: {DWORD dIndex = LstAnly.GetItemData(cmd.dwItemSpec);COLORREF color[3]{ RGB(0,0,255),RGB(255,0,0),RGB(0,0,0) };COLORREF colorBK[3]{ RGB(255,255,0),RGB(0,255,0), RGB(255, 192, 203) };// 列表字体颜色lp->clrText = color[dIndex];lp->clrTextBk = colorBK[dIndex];}default:break;}
}

CWndINC.cpp文件的修改

void CWndINC::OnBnClickedButton3()
{// TODO: 在此添加控件通知处理程序代码int CountNormal = modPage[0].LstModule.GetItemCount();int CountRoot = modPage[1].LstModule.GetItemCount();if ((CountRoot) && (CountNormal)) {modAnly.LstAnly.DeleteAllItems();for (int i = 0; i < CountNormal; i++) {CString txt = modPage[0].LstModule.GetItemText(i, 3);for (int y = 0; y < CountRoot; y++) {if (modPage[1].LstModule.GetItemText(y, 3).MakeUpper() == txt.MakeUpper()) {modPage[1].LstModule.SetItemData(y, 1);modPage[0].LstModule.SetItemData(i, 1);break;}}}CString wTxt[2]{ L"减少", L"正常" };DWORD dState[2]{ 0, 2 };for (int i = 0; i < CountNormal; i++) {DWORD state = modPage[0].LstModule.GetItemData(i);// modAnly.LstAnly.InsertItem(0, modPage[0].LstModule.GetItemText(i, 0));modAnly.LstAnly.SetItemText(0, 1,  modPage[0].LstModule.GetItemText(i, 1));modAnly.LstAnly.SetItemText(0, 2,  modPage[0].LstModule.GetItemText(i, 2));modAnly.LstAnly.SetItemText(0, 3,  modPage[0].LstModule.GetItemText(i, 3));modAnly.LstAnly.SetItemText(0, 4, wTxt[state]);modAnly.LstAnly.SetItemData(0, dState[state]);}for (int i = 0; i < CountRoot; i++) {DWORD state = modPage[1].LstModule.GetItemData(i);if (state == 0) {modAnly.LstAnly.InsertItem(0, modPage[1].LstModule.GetItemText(i, 0));modAnly.LstAnly.SetItemText(0, 1, modPage[1].LstModule.GetItemText(i, 1));modAnly.LstAnly.SetItemText(0, 2, modPage[1].LstModule.GetItemText(i, 2));modAnly.LstAnly.SetItemText(0, 3, modPage[1].LstModule.GetItemText(i, 3));modAnly.LstAnly.SetItemText(0, 4, L"增加");modAnly.LstAnly.SetItemData(0, 1);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/49721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

secureCRT同时在所有已打开窗口执行命令、mac-os下使用的SecureCRT版本 以及 SecureCRT一段时间不操作没有响应的问题

一、secureCRT命令行工具一次性同时在所有已打开窗口执行命令 公司的服务器比较多&#xff0c;最近因为opcache&#xff0c;上线发布后&#xff0c;需要重启所有的WEB服务器上的php。目前使用的jenkins发布&#xff0c;不过账号安全问题&#xff0c;给jenkins的账号权限受限不能…

Hype 4 Pro for Mac:专业级HTML5动画制作利器

Hype 4 Pro for Mac是一款专为Mac用户设计的专业级HTML5动画制作软件&#xff0c;它集动画制作、交互设计于一身&#xff0c;为用户提供了一种全新的、高效的动画制作体验。 该软件拥有直观易用的界面和强大的功能&#xff0c;支持多种设计元素&#xff0c;如滚动、旋转、缩放…

DVWA的安装和使用

背景介绍 DVWA是Damn Vulnerable Web Application的缩写&#xff0c;是一个用于安全脆弱性检测的开源Web应用。它旨在为安全专业人员提供一个合法的测试环境&#xff0c;帮助他们测试自己的专业技能和工具&#xff0c;同时也帮助web开发者更好地理解web应用安全防范的过程。DV…

GD32 MCU电源复位和系统复位有什么区别

GD32 MCU的复位分为电源复位和系统复位&#xff0c;电源复位又称为冷复位&#xff0c;相较于系统复位&#xff0c;上电复位更彻底&#xff0c;下面为大家详细介绍上电复位和系统复位的实现以及区别。 电源复位包括上电/掉电复位或者从standby模式唤醒产生的复位&#xff0c;电…

【进阶篇-Day12:JAVA中stream流、File类的介绍】

目录 1、stream流1.1 stream流的作用1.2 stream流的思想1.3 获取stream流对象1.4 stream流中间操作方法1.5 stream流终结操作方法1.6 stream收集操作1.7 stream的综合案例 2、File类2.1 File类创建文件对象2.2 File类的常用方法2.3 File类的创建和删除方法2.4 File类的遍历方法…

埃文科技受邀出席2024年河南省工业领域网络和数据安全政策宣贯会

2024年7月18日&#xff0c;由河南省工业和信息化厅主办&#xff0c;河南省工业信息安全产业发展联盟、河南省信息安全产业协会承办的2024年河南省工业领域网络和数据安全政策宣贯会在郑州召开&#xff0c;活动旨在提升河南省工业领域网络和数据安全保护能力&#xff0c;助力企业…

Fetch请求的取消

在实际开发中&#xff0c;我们常常会遇到根据输入框输入的内容&#xff0c;实时去请求接口并将拿到的数据渲染到页面上&#xff0c;但是由于接口响应时间不可控&#xff0c;简单来说就是请求的顺序和响应的顺序不一致&#xff0c;就会导致你可能输入了12&#xff0c;但实际返回…

PMOS、NMOS 驱动电路和使用方法

下图就是 PMOS 和 NMOS 的简单使用方法。D2 是指示灯&#xff0c;NMOS 的 G 连接单片机 IO&#xff0c;PMOS 的 D 连接 24V 继电器&#xff0c;PMOS 的体二极管作为继电器的反向电动势的吸收二极管 PMOS 和 NMOS 不一样&#xff0c;在远超单片机电压下控制 PMOS 必须依靠一个 N…

CSS相关记录

文章目录 backgroundposition文字displayflexjustify-contentalign-itemsflex-directionflex-wrap gridimportant transformtranslate&#xff08;位移&#xff09;scale&#xff08;缩放&#xff09;rotate&#xff08;旋转&#xff09;origin (旋转中心点)skew (倾斜 ) borde…

C# 知识点总结

入门 C#程序在.NET上运行&#xff0c;.NET framework包含两个部分&#xff1a; ①&#xff1a;.NET framework类库 ②&#xff1a;公共语言运行库CLR&#xff08;.NET虚拟机&#xff09; CLS&#xff08;公共语言规范&#xff09; CTS&#xff08;通用类型系统&#xff09; .N…

【分布式系统】 单机架构 | 分布式架构 | 集群 | 主从架构 | 分库分表 | 冷热分离 | 微服务

文章目录 [toc] 分布式系统一、单机架构二、分布式系统三、应用服务器集群四、读写分离 / 主从分离架构五、引入缓存/冷热分离架构六、垂直分库七、微服务架构——业务拆分代价优势 八、名词解释1.应用&#xff08;Application&#xff09;/系统(System)2.模块&#xff08;Mode…

Mysql9安装

目录 一、下载mysql 二、安装 三、配置mysql环境变量 四、mysql初始化和启动 1.以管理员身份运行cmd 2.cd到mysql的安装目录 3.初始化mysql的数据库 4.为Windows系统安装MySQL服务 5.查看一下名为mysql的服务&#xff1a; 6.启动MySQL服务 五、附录 1.系统变量还在&…

CentOS 8中 更新或下载时报错:为仓库 ‘appstream‘ 下载元数据失败 : Cannot prepare internal mirrorlist

一、错误重现 CentOS Stream 8 - AppStream 0.0 B/s | 0 B 00:00 Errors during downloading metadata for repository appstream: - Curl error (6): Couldnt resolve host name for http://mirrorlis…

昇思25天学习打卡营第18天|生成式-GAN图像生成

打卡 目录 打卡 GAN 博弈函数 博弈过程 GAN 案例 数据集 数据加载与可视化 隐码构造 模型构建 生成器 判别器 损失函数和优化器 模型训练 输出展示-1w张训练样本 输出展示-6w张训练样本 输出展示-6w张-100 epoch 效果展示 部分展示如图-12epoch-6w张 部分展…

Windows系统上Git详细图文安装及使用教程

Git 是一种高效、分布式的版本控制系统&#xff0c;用于代码的跟踪、分支管理和协同工作&#xff0c;支持快速提交、合并和回滚操作。它是开发者工具箱中必不可少的工具之一&#xff0c;广泛应用于软件开发和其他需要版本控制的领域。 1. Git的安装 1.1 Git下载 可以通过以下…

Qt SQLite数据库学习总结

到此为止&#xff0c;就使用Qt进行SQLite数据库的操作&#xff0c;做一次总结 1. Qt中数据库操作的相关概念和类 Qt 数据库编程相关基本概念https://blog.csdn.net/castlooo/article/details/140497177 2.表的只读查询--QSqlQueryModel QSqlQueryModel单表查询的使用总结htt…

微信小程序--点击按钮可新增可删除

案例: html: <view ><view ><view class="guzhang" wx:for="{{inputs}}" wx:key="id" wx:for-item="item" wx:for-index="index"><view class="huanhang"><view class="fontBo…

员工网络监控软件:把控员工网络活动的标尺

在竞争激烈的漩涡之中&#xff0c;企业如同一只不断旋转的陀螺&#xff0c;努力保持着自身的平衡和稳定&#xff0c;而员工的网络活动则是那无形却强大的力量&#xff0c;时刻影响着企业的运转。员工网络监控软件仿佛一根坚固无比的轴心&#xff0c;以其精准的标尺帮助企业实现…

Mindspore框架循环神经网络RNN模型实现情感分类|(六)模型加载和推理(情感分类模型资源下载)

Mindspore框架循环神经网络RNN模型实现情感分类 Mindspore框架循环神经网络RNN模型实现情感分类|&#xff08;一&#xff09;IMDB影评数据集准备 Mindspore框架循环神经网络RNN模型实现情感分类|&#xff08;二&#xff09;预训练词向量 Mindspore框架循环神经网络RNN模型实现…

顶级 Vue 管理仪表板和模板

Vue.js 是当今繁忙的 Web 开发领域中最受欢迎的 JavaScript 框架之一&#xff0c;用于创建交互式动态用户界面。Vue.js 的组件反应性及其流畅的数据绑定使其在管理仪表板设计方面占据了主导地位。 本文讨论了一些领先的 ​​Vue 管理员仪表板&#xff0c;它们可以节省您制作 We…