自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dvlinker的技术专栏

dvlinker的技术专栏

  • 博客(15)
  • 资源 (17)
  • 收藏
  • 关注

转载 UML各个关系的对应代码

UML的几种关系介绍请移步《UML中的关系》!      要真正画好UML图,透彻的理解各个关系的具体含义,需要明白各个关系对应的代码实现。一、依赖      依赖是类的五种关系中耦合最小的一种关系。依赖关系可以描述为:Uses a在生成代码的时候,这两个关系类都不会增加属性。[csharp] view plainco

2012-06-23 22:51:04 998

原创 C++ 2.0版本的富文本RICHEDIT20A的一些总结

最近在修改即时通讯模块相关问题的时候,发现1.0版本的富文本控件CRichEditCtrl有一些bug和问题,比如选中文字时背景色是黑色;当输入白色文字时,选中后不显示文字等。所以决定使用2.0版本的富文本控件,但是远没有刚开始想的那么简单,遇到很多有疑惑的问题,下面就简单的总结一下。 1、使用2.0版本的富文本控件的准备工作 如何在程序中使用2.0版本的富

2012-06-20 09:53:47 14770 6

原创 解决IE7无法设置空白页的办法

找到这个注册表项HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main,新建以下两个DWORD值:        RunOnceComplete = dword:00000001        RunOnceHasShown = dword:00000001

2012-06-19 18:56:58 1036

原创 Rich Edit 控件 SDK 参考手册

摘要:本文对Rich Edit控件底层消息机制进行了讲解,以期读者对Windows平台下的Rich Edit控件有一个更深入的认识,同时对于使用Win32 SDK进行开发的人员具有一定参考价值。因为文章的初衷是引领VB程序员通过Win32 API调用来扩展VB下的Rich Edit控件的功能,所以对于每个消息的详细说明和注意事项未作过多说明,感兴趣的朋友可以参考Visual Stu

2012-06-19 13:45:12 1460

原创 通过窗口大小适时调整以及子窗口的动态布局来解决窗口在不同DPI设置下的显示问题

很多软件都有在大DPI设置下界面显示异常的问题,我们的软件也不例外。因为我们的界面窗口的布局很多都是动态调整的,并且很多文字都是Draw上去的,所以相对来说出问题的地方比较少。

2012-06-16 22:19:10 1594

原创 VC++ XP/WIN7系统中删除残留托盘图标的方法(附源码)

XP/WIN7系统中删除残留托盘图标的方法

2012-06-16 21:59:50 13080

原创 C++剪切板编程中遇到的一个问题

之前在开发一个新功能的时候,需要将文件的路径信息通过剪切板传递给指定的目标。于是就需要将文件信息写入到剪切板中,获取方则从剪切板中读取想要获取的路径信息。剪切板是通过全局内存来共享数据的,存放数据的内存是通过GlobalAlloc来分配的。问题就出在这个用GlobalAlloc来分配的的内存上,在将文件信息写入到剪切板之后,想当然的就调用GlobalFree来释放之前申请来的内存,于是导致了后续的

2012-06-15 21:28:49 1647 1

原创 Windows程序中,数据过多时的栈溢出问题与堆内存的使用

在Windows中,一个线程的栈空间的默认大小是1MB,对于MFC UI主线程,一般其栈空间的大小均为1MB,当UI主线程的数据较大时就可能会造成栈溢出,从而导致程序出现异常。那么出现栈溢出该如何解决呢?可以通过使用堆内存来消除这样的问题,即很多时候都用new来的堆内存。对于类数据,则直接使用new来的对象来存储。系统会给每个程序分配一个4GB的虚拟空间,其中包括存放代码的空间,以及存放数据的空间

2012-06-15 08:57:59 1972

原创 Windows非公开API函数的调用办法

Windows非公开API函数的调用办法。

2012-06-12 22:54:06 11435 4

原创 如何让MFC窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息

如何让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息

2012-06-09 21:13:24 9038 2

原创 代码走读的重要性

刚开发完一个新的功能模块,之前因为很多代码没有走读过,产生了很多不应该有的bug,所以这次有时间就简单走读一下。不走读不要紧,一走读确实发现了一些问题。有些地方的处理有点随意、有点欠考虑,有些地方的处理有较大问题。以前有过很多的教训,但代码走读一直没重视起来,这次记录下来,督促进行后续开发的时候一定要将代码走读给做起来。

2012-06-09 21:09:48 2187

原创 获取系统相关信息的方法

1、获取任务栏的高度: CRect rect; CWnd* pTaskBarWnd = this->FindWindow( "Shell_TrayWnd", NULL ); if( pTaskBarWnd != NULL ) { pTaskBarWnd->GetWindowRect( &rect ); m_nTaskBarHeight = rect.Height(); }

2012-06-06 22:49:41 897

原创 强制刷新窗口并能立即生效的办法

因为控件自绘工程skinui的缺陷,在窗口Move的时候会出现残影残留的现象,为了解决残留的问题,需要移动后马上让窗口立马刷新一下。这时,需要直接去刷新窗口并立即生效。经研究,可以使用下面的办法,如下所示:HWND hWnd = GetSafeHwnd(); ::Invalidate( hWnd ); ::UpdateWindow( hWnd );        结合msdn,让我

2012-06-06 22:41:02 7934

原创 对话框风格引起的一系列问题

今天在写新的功能模块时,使用到了对话框类,出现了一些莫名其妙的问题。其中一个对话框是主窗口,一个对话框是子窗口,程序初始化时主对话框是掩藏不显示的,但奇怪的是子对话框却显示了出来,并且父窗口的窗口排列也出现了异常。结果折腾了一圈才发现:子对话框的风格为popup,而作为子窗口,应该设置成child风格。很久以前也遇到过类似的问题,在此记录一下,以免下次再出现不必要的折腾了。

2012-06-06 22:28:41 768

原创 通过比对版本和代码修改历史定位由于代码修改引发的新问题

新产品已经基本完成新功能的开发,已进入后期的测试和bug修复阶段。昨天测试报了一个bug,但这个bug在功能刚开发那会是没有,可能后期修改和整理代码时引入的。因为这一段时间添加了部分新功能并修复测试过程中出现的问题,对代码改动的地方比较多,而且是好几个人一起开发和维护,弄不清楚是我改代码引起的还是同事修改引起的,纠结了几个小时也没找到bug产生的原因。       不得已只能通过版本比对来定位

2012-06-02 13:30:28 1042

Windbg调试工具 Windbg-10.0.18.zip

Windbg是一款由微软开发的强大调试工具,主要用于对Windows操作系统下的应用程序进行调试和分析。它集成了丰富的调试功能,包括但不限于崩溃分析、内存检测、线程分析、模块加载、符号解析等,是软件开发者、系统管理员以及逆向工程师的必备工具之一。 1)本压缩包是10.0版本的。 2)解压出来后,点击X86 Debuggers And Tools-x86_en-us.msi(32位)或者X64 Debuggers And Tools-x64_en-us.msi(64)安装即可。 3)安装过程很快,一闪而过,可以到开始菜单中找到Windows Kits,然后在该菜单路径下可以找到安装的Windbg。

2024-08-21

基于开源CrashRpt与微软开源Detours技术深度改造的异常捕获库及源码分享

在应用程序中安装一个异常捕获模块,已经成为一种标配了。通过这个异常捕获模块,去感知(捕获)应用程序中发生的异常或崩溃,自动生成包含异常上下文的dump文件。事后使用Windbg去分析dump文件,去分析软件异常!这一策略和方式,对于一些很难复现的问题,或者只在客户环境中才能出现的问题,非常有用! 当前深度改造的异常捕获库,极大地提高了异常捕获的效率,几乎可以捕获到所有的异常: 1)原生的开源库CrashRpt,对多线程支持的不好,且其实现机制(通过HOOK模块导入表中的CreateThread函数)导致其只能捕获在该库之前加载dll模块中的异常,之后加载的dll库发生异常是捕获不到的。 2)改进后的库,提供了对多线程的支持。 3)通过微软开源的Detours技术,彻底解决了CrashRpt很多异常捕获不到的问题,极大地提升了捕获的效率。 4)具体如何使用本异常捕获库,压缩包中提供了一个demo程序,可以参照demo中的做法。

2024-04-21

工具源码 - C++实现的抽奖程序

用C++开发的抽奖程序,使用Visual Studio开发,使用了MFC界面框架,MFC在开发小的工具软件时比较有优势,开发起来非常方便。该程序最开始是给一个同学开发的小工具,同学当时结婚需要一个抽奖程序,就做了一个!

2024-04-20

【项目源码分享】视频监控客户端C++源码实现(可用于学习或练手)

C++实现的完整视频监控客户端,使用Visual Studio开发,包含了视频监控客户端所有基本的功能,可以用来练手或学习。主要功能包括: 1)客户端登录界面; 2)登录的主界面; 3)IPC等设备列表页面; 4)系统设置页面; 5)支持对远程设备的参数配置; 6)视频播放页面,支持切换1画面、4画面、9画面和16画面等; 7)视频图像录制; 8)视频录像的回放; 9)搜索局域网设备的工具。

2024-04-20

【工具源码分享】图片查看器C++源码实现

实现类似于QQ或企业微信的图片查看器功能: 1)打开图片; 2)对图片进行放大或缩小; 3)对图片进行向左或向右旋转; 4)支持保存图片; 5)支持调整图片的透明度。

2024-04-20

【项目源码分享】C++-IPC摄像头在线状态ping检测与告警邮件发送

本C++源码实现了IPC摄像头在线ping检测以及设备网络异常告警邮件发送的功能,本源码可以供初学者及有工作经验的人员使用。 通过本源码你可以学习到: 1)如何对IP设备进行ping检测,当ping若干次都ping不通,则认为IP设备网络出现故障。 2)学会如何构建邮件格式数据,以及如何调用libcurl开源库的相关接口实现邮件的发送。 3)可以学到MFC UI组件如何搭建UI界面,如何向树控件和列表控件中添加元素。 4)可以学会如何操作.ini配置文件。 5)可以了解多线程编程的相关知识。 6)可以了解如何调用libcurl开源库实现告警邮件的发送。

2024-04-20

nginx开源库源码分享

nginx开源库源码分享

2024-04-20

memcached开源库源码分享

memcached开源库源码分享

2024-04-20

linux-0.11开源库源码分享!

linux-0.11开源库源码分享!

2024-04-20

libevent开源库源码分享!

libevent开源库源码分享!

2024-04-20

glibc开源库源码分享

glibc开源库源码分享

2024-04-20

正则表达式规则图,详见图片

正则表达式规则图

2024-04-20

API函数调用监测工具API Monitor

API Monitor可以监测程序对Windows系统API函数的调用,也可以监测程序对第三方库的调用!

2022-07-28

二进制文件PE信息查看工具

可以查看二进制文件中的PE信息,比如文件生成的时间戳等等!

2022-07-28

工具测试一下(just a Test)

工具测试一下(just a Test)

2022-05-25

死锁检测工具LockCop.zip

Windows下查看多线程死锁信息的工具,协助多线程死锁问题的排查。

2021-10-24

GDI对象查看工具(排查GDI对象泄露)GDIView.zip

GDIView是查看进程GDI对象占用明细的,是排查GDI对象泄露的利器!

2021-10-24

Windows剪切板工具clipbrd.zip

Windows系统中的剪切板查看工具!win7及以上系统已经没有自带这个工具了,该工具可以在win7及以上系统中使用

2021-10-24

Windows系统中两类文件与注册表重定向说明

Windows系统中两类文件与注册表重定向说明

2021-10-10

用户帐户控制数据重定向.docx

Windows程序在没有管理权限时的数据重定向问题

2021-10-10

msxml3.msi

系统xml库异常时导致有的程序不能启动,可以尝试重新安装msxml3.msi

2016-05-27

属性页定制 + 双缓冲位图显示

当属性页的子页比较多时,子页的标签显示起来就不太方便,分行显示时使用起来不太舒服。所以本文讨论的就是关于属性页定制的话题,以解决多个子页时的标签显示问题。

2010-11-03

定制属性页的原始版本_20101103

实现了属性页的定制,并对界面进行了一些相关的美化工作。

2010-11-03

对话框标题栏自绘的改进及自绘对话框的封装

在原有范例的基础上做了许多改进,能够较好的实现对话框标题栏自绘效果。本例中涉及到:对话框标题栏的自绘,双缓冲位图的显示以及位图按钮类的使用。

2010-09-05

对话框标题栏自绘范例1

比较好的实现了对话框标题栏的自绘,值得参考

2010-09-05

分割基于SDI的view视图

实现了View区域的分割,可以用作视频监控系统中的视频窗口,即实现视频窗口的分屏功能,可动态切换分屏。

2009-12-24

码头船只管理系统

使用MFC编写的应用程序,主要用于模拟码头船只调度与管理

2007-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除