MFC/VC++
文章平均质量分 65
sail0323
这个作者很懒,什么都没留下…
展开
-
【windbg】调用栈分析
一些心得和说明windbg 还不熟,如有错误,请指正。 调用栈鼓捣了好久,一直没整明白。每次都打算弄明白,结果还是...(泪目啊)。今天,不慌不忙的,把windbg的打印信息都copy出来,再把 ebp、esp、eip都挑出来,看它们的地址变化,然后再,整个表格,看他们是怎么跳转的... 再参考下 对于ESP、EBP寄存器的理解,慢慢的就有头绪了,所以,一定要有耐心,心细梳理。图 01创建MFC程序创建MFC程序,使用以下代码。(参考:对于ESP、EBP寄存器的理解)int FunA原创 2021-04-14 22:10:37 · 899 阅读 · 0 评论 -
LeakDiag检测内存泄漏 の文件分析
1. 设置LeakDiagLeakDiag和LDGrapher下载地址:https://blog.csdn.net/xl19900502/article/details/115100734?spm=1001.2014.3001.5502LeakDiag菜单栏:Tools --> Options有pdb,并且设置Resolve symbols when logging的好处是,日志文件中,会指名是哪个函数泄漏了内存。2. 启动MemLeak3. 监视MemLeak..原创 2021-03-25 20:29:36 · 1471 阅读 · 0 评论 -
LeakDiag检测内存泄漏 の创建工程
1. 创建MFC GUI工程1.1 创建MFC工程创建MFC工程,命名为MemLeak;(创建过程略)创建MemLeak后,再创建一个DLL供MemLeak调用;1.2 创建DLL1.3 设置依赖项VC菜单栏:"Project" --> "Project dependencies..." ;设置为MemLeak依赖BadGuy;1.4 DLL输出函数及文件输出函数:供MemLeak调用;输出文件:共Me...原创 2021-03-25 20:21:18 · 251 阅读 · 0 评论 -
Windows常用工具
Win工具:ProcessMonitor、VMMap、Procdump、Debuggers_windbg、leakdiag下载地址:http://ftpmirror.your.org/pub/misc/ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-utilities也可以百度网盘取..原创 2021-03-22 21:46:04 · 846 阅读 · 0 评论 -
MFC 主界面函数中线程等待避免界面卡死的处理方法
实用场景:例如在MFC主界面某个Button Click事件中起一个线程去做处理一些事情,在起的线程运行完毕后,接着跑Click起线程后的代码,已达到按顺序执行,保证时许正确的目的。问题:通常处理一个线程等待用 WaitForSingleObject,这个放在主界面线程成中会造成主界面“卡死”,其原因是它将主界面的消息循环给阻塞了,即等不到线程结束的时候界面上的消息循环无法转载 2015-12-17 15:09:23 · 16353 阅读 · 0 评论 -
在MFC对话框中,如何让控件Static和Radio和CheckBox背景透明?
要做到透明控件,有两种办法。1,把父窗口中控件所在区域的背景先画到控件上。这种办法适合几乎所有的控件。2,对于简单的控件,如Static、RadioButton、CheckBox,他们有特殊的办法。下面就是第二种做法:(直接看图)这是效果图。主要包括Static、Radio、CheckBox、GroupBox。接下来是代码:(注意环境:vs2转载 2016-01-06 19:55:19 · 1670 阅读 · 0 评论 -
获取文件详细信息
DWORD dwSize = GetFileVersionInfoSize(strPath, NULL); UINT nSize = dwSize * sizeof(TCHAR); LPVOID pBlock = new TCHAR[nSize]; memset(pBlock, 0, nSize); GetFileVersionInfo(strPath, 0, dwSize, p转载 2016-05-18 17:55:26 · 1556 阅读 · 0 评论 -
手把手教你玩转SOCKET模型:重叠I/O篇
手把手教你玩转SOCKET模型:重叠I/O篇2014-11-10 06:14 ⁄ 工业·编程 ⁄ 共 12127字 ⁄ 字号 小 中 大 ⁄ 评论 3 条“身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人。我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是转载 2016-05-19 20:21:48 · 942 阅读 · 0 评论 -
Windows服务编写原理及探讨【4】
(四)一些问题的讨论 前面几章的内容都是服务的一些通用的编写原理,但里面隐含着一些问题,编写简单的服务时看不出来,但遇到复杂的应用就会出现一些问题,所以本章就是用来分析、解决这些问题的,适用于高级应用的开发人员。我这一章的内容都是经过实验得到的,很有实际意义。 我在第一章里面就说过,是由一个服务的主线程执行CtrlHandler函数,它将收到各种控制命令,但是真正处理命令,转载 2015-10-14 22:26:32 · 408 阅读 · 0 评论 -
Windows服务编写原理及探讨【2】
(二)对服务的深入讨论之上 上一章其实只是概括性的介绍,下面开始才是真正的细节所在。在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是一个SERVICE_TABLE_ENTRY的例子:SERVICE_TABLE_ENTRY serv转载 2015-10-14 22:23:44 · 458 阅读 · 0 评论 -
设置某一行背景颜色的CListCtrl
三个接口函数,设置某一行的文字颜色(前景色)和背景色,使用说明都放在注释里了,自己看吧:LineColorListCtrl.h转载 2014-10-14 23:02:21 · 4208 阅读 · 0 评论 -
MFC技术资料大全与汇总
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的转载 2014-10-14 23:05:28 · 3306 阅读 · 0 评论 -
一个简单的鼠标钩子程序
一个简单的鼠标钩子程序实现适时获取当前鼠标所在窗口的标题,并将其显示在一个EDITBOX中,程序运行截图:Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子的种类很多,每种钩子可以截获并处理相应的消息,如键转载 2014-10-14 22:59:19 · 714 阅读 · 0 评论 -
[MFC9.0 Ribbon Fluent] 基于VS demo(MSMoneyDemo)的改造过程中遇到的问题记录
先简单介绍 MSMoneyDemo 的组成部分,如下图:我去掉了 MenuBar | ToolBar, 保留了 CaptionBar | CategoryBar | LinkBar, 同时 CategoryBar | LinkBar 没有用 BITMAP 绘制,而是重载 Ondraw 自己绘制。下面简单介绍开发过程中遇到的问题。Q1:把 m_wndMenuBar 删掉后原创 2015-11-05 21:01:50 · 1050 阅读 · 0 评论 -
使用Win32API实现Windows下异步串口通讯zz
使用Win32API实现Windows下异步串口通讯zz 目录:1. 异步非阻塞串口通讯的优点2. 异步非阻塞串口通讯的基本原理3. 异步非阻塞串口通讯的基础知识4. 异步非阻塞串口通讯的实现步骤2005.01.05一,异步非阻塞串口通讯的优点读写串行口时,既可以同步执转载 2015-10-22 19:16:24 · 1013 阅读 · 0 评论 -
VS2010 Windows API 串口编程 (二)
转载请注明出自:blog.csdn.net/mingojiang 目录一串口通信基础 1.1串口通信原理与特点 1.2串口通信的传输方式 1.3串口通信的同步技术 1.4串行接口标准 二 API函数实现串口通信 2.1打开串口 2.1.1串口是否有驱动 2.1.2连接串口 2.1.3串口逻辑端转载 2015-10-22 20:07:34 · 6019 阅读 · 0 评论 -
Windows服务编写原理及探讨【3】
(三)对服务的深入讨论之下现在我们还剩下一个函数可以在细节上讨论,那就是服务的CtrlHandler函数。 当调用RegisterServiceCtrlHandler函数时,SCM得到并保存这个回调函数的地址。一个SCP调一个告诉SCM如何去控制服务的Win32函数,现在已经有10个预定义的控制请求:Control codeMeaning转载 2015-10-14 22:25:19 · 332 阅读 · 0 评论 -
Windows服务编写原理及探讨【1】
有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。(一)服务的基础知识Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,如果要写一个功能完转载 2015-10-14 22:21:08 · 392 阅读 · 0 评论 -
windows 托盘
//部分自动生成的代码都删了,保留主要函数// TrayDlg.cpp : 实现文件//#include "stdafx.h"#include "Tray.h"#include "TrayDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// CTrayDlg 对话框CTrayD原创 2014-11-13 00:19:14 · 704 阅读 · 0 评论