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…

css:卡片列表如何自适应布局

css媒体查询&#xff1a;media width(%)flex布局ant-design组件库中有个RowCol&#xff0c;但是有时候需要一排放5个&#xff0c;此时RowCol就不是很适用此时可以采用ant-design组件库Grid组件中useBreakpoint&#xff0c;搭配width(%),代码如下&#xff1a; const screens …

华为高教校园网络解决方案 方案规划

方案规划 高教校园虚拟化网络主要是基于iMaster NCE-Campus部署&#xff0c;按照iMaster NCE-Campus的业务配置模型进行部署规划&#xff0c;具体规划如表4-1所示。 表4-1 园区虚拟化网络新建方案规划 规划项 详细部署思路 管理网络部署方案 高教校园网络的管理…

Oriented RepPoints for Aerial Object Detection

研究对象&#xff1a; 空中目标识别&#xff0c;空中目标探测和识别技术的深入研究是为了将空中打击目标从复杂的背景环境中尽可能地剥离出来&#xff0c;通过知识学习&#xff0c;实现对目标的类型确认&#xff0c;进而完成对目标的威胁评估&#xff0c;为快速打击提供判定和决…

c++中的递归拷贝(Recursive Copy)和递归反转链表(Recursive Reverse Linked List)

前言 hello大家好啊&#xff0c;这里是文宇&#xff0c;不是文字&#xff0c;是文宇哦。 递归拷贝&#xff08;Recursive Copy&#xff09; C中的递归拷贝是一种在拷贝对象时使用递归方法的技术。在C中&#xff0c;为了拷贝一个对象&#xff0c;通常使用拷贝构造函数或拷贝赋…

vue大屏展示组件库datav

主要用于构建大屏数据展示页面&#xff0c;具有多种类型组件可供使用。详情参考 datav官网 一、安装 npm 安装 npm install jiaminghi/data-viewyarn安装 yarn add jiaminghi/data-view二、使用 在main.js中注册为全局组件 import dataV from jiaminghi/data-view Vue.us…

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…

Java 项目如何快速接入AI大模型ChatGPT

Spring AI 简介 定义&#xff1a;与Spring生态系统集成的项目&#xff0c;简化在Spring应用中使用AI技术。特点&#xff1a;提供工具和接口&#xff0c;简化集成AI功能&#xff0c;避免底层细节复杂性。 Spring AI 主要功能 跨AI提供商API&#xff1a;聊天、文本到图像、嵌入…

k8s学习——安装istio之dns卡壳

我准备使用istio来替代原来的traefic网关和consul服务注册发现的方案&#xff0c;但在安装istio过程中遇到了一些问题&#xff0c;把解决的过程记录下来&#xff0c;便于今后遇到类似问题做个参考。 istio安装的中文文档地址&#xff1a;Istio Prelim 1.23 / 文档 参照Istio …

Perl中的时间机器:探索文件系统同步机制

Perl中的时间机器&#xff1a;探索文件系统同步机制 在Perl编程中&#xff0c;文件系统同步是一个重要的功能&#xff0c;它允许开发者在不同时间点对文件或目录的状态进行备份、更新和同步。Perl提供了多种内置的模块和函数&#xff0c;使得文件系统同步变得简单而高效。本文…

Mysql9安装

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