自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (7)
  • 收藏
  • 关注

原创 动态链接库延迟加载

  开发的时候遇到一个问题,有一个可执行程序需要依赖另外一个目录的动态库,但是对这个dll接口的引用采用的是静态依赖的方式。解决不难,可以通过LoadLibrary动态加载,然后调用其接口。但是这用就没法方便的通过静态以依赖的方式方便的调用其接口了。 探索后发现vs支持延迟绑定。。。就是调用的时候可以通过静态依赖的方式进行调用,但是pe导入表不再依赖调用的dll,在需要使用该dll的时候再动态加载...

2018-12-24 18:39:01 545

原创 后台进程windows窗口无法置顶的问题

  后台进程在初始化的时候是无法通过设置顶层窗口弹到前台的,经测试,可以通过设置一个Timer,在Timer中通过SetWindowPos将对话框窗口拉到前台,先设置HWND_TOPMOST然后设置HWND_NOTOPMOST是为了将窗口弹到顶层但是不持续的在顶层。{    const static int s_timer = 11234;    if (msg == WM_INITDIA...

2018-12-14 16:02:35 922 1

原创 一个奇怪的dll依赖问题

一个奇怪的dll依赖问题

2017-10-19 11:30:03 791

转载 vs2008 F5调试慢的问题

在C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE文件夹中,新建symsrv.ini文件;[plain] view plain copy[exclusions]  *.*           不加载文件;

2017-08-12 22:11:01 782

原创 ida手动加载指定模块的符号

ida手动加载指定模块的符号

2017-07-18 09:53:36 7255

原创 xp下一个奇怪的问题

今天编码遇到了一个很奇怪的问题,xp下界面程序无法显示,通过排查发现依赖shell32.dll这个动态库,如果在对话框创建之前加载这个dll就能正常的显示.

2017-03-03 17:42:45 335

转载 vs2015工程配置

建立的项目多了的时候 , 就希望能自己配置好一个项目模板,以后建立的项目自动使用这个模板就省事了,不用每次都要改, 每个项目都要改了!经不懈努力, 终于 发现了 vs2015,vs2012 (我只用了这两个,其他应该差不多方法)的项目模板的位置及更改方法了,如下:vs菜单->视图->属性管理器->(你的项目)->(你的配置)->双击“Microsoft.Cpp.Win32.user

2016-11-05 15:37:09 5076

原创 ida配合windbg调试程序

ida是静态pe文件分析工具,有强大的汇编代码分析功能可以将pe文件的汇编代码近似还原成c语言代码,windbg是动态调试工具,运行时调试非常方便,对微软自家的pdb符号文件支持的很好,两个工具各有所长。  以下是ida和windbg代码对应的方法:1.ida中静态pe文件基址2.ida中winmain函数相对基址的偏移量3.windbg中模块运行后模块的基址4.在windbg

2016-07-28 11:23:54 5775

转载 windbg设置双机调试的方法

windbg已不提供单独下载,wdk驱动开发工具包里附带有这个调试器.官网提供下载:http://msdn.microsoft.com/en-us/windows/hardware/gg487463.aspx1.#配置VMware工作站客户机(windows XP)0.为VMware工作站添加串口          右键setting,选择add,选择Serial Po

2016-07-01 11:17:03 6537

原创 通过windbg排查程序内存泄露

1.设置windbg工具内存跟踪gflags  -i memtest.exe +ust2.运行一段时间通过调试器windbg attach中断输入命令 !heap -s输出类似:0:001> !heap -s3.过段时间再次中断输入!heap -s,查看增长明显的栈。4.查看栈情况!heap -stat h 004000005.查看堆详细信息!heap

2016-06-14 16:22:02 5223 2

原创 vs2008IDE查看宏展开后的方法

2016-02-26 12:37:56 520

原创 windows窗口程序一个诡异的bug

今天开发一个带界面的小工具发现了一个诡异的bug,最后发现父窗口如果设置了EXSTYLE属性,子窗口的ListCtrl的LVS_EX_LABELTIP属性将会失效。

2016-01-20 12:17:38 433

转载 反向迭代器删除元素

众所周知,在使用迭代器遍历 STL 容器时,需要特别留意是否在循环中修改了迭代器而导致迭代器失效的情形。下面我来总结一下在对各种容器进行正向和反向遍历过程中删除元素时,正确更新迭代器的用法。本文源码:https://code.csdn.net/snippets/173595首先,要明白使用正向迭代器(iterator)进行反向遍历是错误的用法,要不干嘛要有反向迭代器呢(reverse_it

2015-12-30 11:07:03 3610 1

转载 office2007安装找不到Office.zh-cn/OfficeLR.cab问题

从网上查找了一下资料,发现这个问题常与VS2008及office2007的兼容性有关:这阵子使用office2007的过程中遇到了一些小问题,一气之下干脆重装office2007了,谁知道重装就是安装不了,总是提示“安装程序找不到 office.zh-cn/*”(例如office.zh-cn"Setup.xml),问题目录下有文件啊,为什么总是提示找不到文件呢。后来在网上发现和我一

2015-12-27 17:22:02 5277

转载 vs2008宏不能使用的问题

VS2008宏不能运行的解决办法 搜索 文件 vsmsvr.exe.config  打开这个文件在里面的runtime节点下增加

2015-12-18 17:46:35 512

原创 Windows64位API的改动,MARK

https://msdn.microsoft.com/en-us/library/aa383663(v=vs.85).aspx

2015-12-04 09:53:15 1194 1

原创 代码管理的小技巧

陈灯可重用代码管理工具可以很好的对可重用的代码进行管理,这个工具配合360云盘的文件夹同步功能能够非常方便的将本地的工具随时备份到360云盘中。

2015-09-16 14:36:37 355

原创 分享体积小巧,功能强大的网络嗅探和分析工具SnifferView 版本-1.0.0.25

SnifferView是一个体积小巧,功能强大的网络分析工具,能有效的帮助你查看和分析网络数据和排查网络问题,它的特点如下:1.体积小巧,200k左右,只有一个文件,运行和数据分析速度很快。2.支持类似著名抓包工具Wireshark的封包过滤语句,并进行了优化,更加易于使用,具体的规则可以参见过滤规则帮助文档。3.支持传输层协议Tcp,Udp,Icmp协议,应用层Http协议的分析。

2015-08-19 11:16:20 2183

原创 string的内存管理问题

string的内存管理是通过只增不减的方式进行的,string的clear方法不会真正的释放内存,如果需要真正的释放内存可以连续调用string的这两个方法,resize(0), reserve()这样就能够真正的释放掉内存了。

2015-07-15 15:22:20 796

转载 基于windbg的内存泄露分析

转自:http://www.cppblog.com/weiym/archive/2013/02/27/198109.html在前面C++中基于Crt的内存泄漏检测一文中提到的方法已经可以解决我们的大部分内存泄露问题了,但是该方法是有前提的,那就是一定要有源代码,而且还只能是Debug版本调试模式下。实际上很多时候我们的程序会用到第三方没有源代码的模块,有些情况下我们甚至怀疑系统模块有内存泄

2015-07-15 12:18:14 704

原创 Jsoncpp库的一个bug

Jsoncpp有个bug定义全局对象Value并赋值,类似下面这样,在程序退出的时候会崩溃。Value s_test;int WINAPI WinMain(HINSTANCE s, HINSTANCE p, char * cmd,int show){ s_test["aaa"] = 1;}原因是这里,在全局变量析构之前,这个静态变量已经析构了。static V

2015-06-05 15:04:25 2335

转载 vs2008远程调试

前提条件:remote host和client都在一个局域网内,且必须在一个网段remot host和client主机必须登录相同的用户,用户名必须一直关闭防火墙或打开相应的端口,一般是4015remote host和client的本地安全策略中的网络访问必须改为“经典,本地用户以自己的身份验证”,路径为控制面板->用户管理->本地安全设置->本地策略->安全选项->网络访问调试方

2015-03-12 13:40:39 299

原创 关于lstrcpyn与strncpy的一点区别

关于lstrcpyn与strncpy的区别

2015-03-06 11:01:21 957

转载 Reactor和Proactor模式

首先分享一下,我在网上看到的两篇不错的文章:正是这两篇文章才理解了reactor和proactor模式; Reactor模式,或者叫反应器模式高性能IO设计的Reactor和Proactor模式 首先就第一篇《Reactor模式,或者叫反应器模式》做一下笔记: 刚开店做生意,老板为了给顾客一个美好的印象,给顾客最好的服务,一对一: 随

2015-03-04 11:58:52 367

转载 TCP的各种状态

在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于我们日常的分析有用的就是前面的五个字段。 它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有 DATA数据传输,RST表示连接重置。 其中,ACK是可能与SYN,FIN等同时使用的

2015-01-07 09:14:45 605

转载 windbg调试死锁问题

操作系统对死锁的描述如下:所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。   那么为什么会产生死锁呢?1.因为系统资源不足。2.进程运行推进的顺序不合适。   3.资源分配不当。            而产生死锁的条件有四个:1.互斥条件:所谓互斥就是进程在某一时间内

2015-01-05 13:22:23 603

原创 一个清理VS工程的小工具

VS工程编译完之后会产生大量的临时文件,这个小程序就是清理VS工程残留文件的,能迅速清理VS的工程,如果有子文件夹递归进行清理,程序使用多线程效率很高。

2014-12-31 20:47:04 846 1

转载 wireshark过滤规则总结

1. 过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP2. 过滤端口例子:tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 80

2014-12-31 11:17:36 479

转载 程序员进阶

12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的

2014-12-09 14:17:37 602

原创 sdk改变ListCtrl某一行的字体颜色或者背景颜色

ListCtrl的字体颜色如果直接通过SetTextColour设置的话会改变所有行的字体颜色,sdk的对话框工程想要改变ListCtrl的某一行颜色需要注意一下几点:1.在ListCtrl的父窗口响应WM_NOTIFY消息。2.处理WM_NOTIFY的NM_CUSTOMDRAW消息,处理完之后通过SetWindowLong设置对话框返回结果。3.处理完返回结果后对话框的回调函数要返回

2014-11-25 16:21:02 1404 1

原创 关于全局事件的使用

windows创建一个时间的时候这个事件命名那么这个事件

2014-11-19 16:20:53 1230

原创 完全隐藏对话框

在WM_INITDIALOG消息里通过

2014-11-18 11:47:14 566

原创 一个小函数,实现通配符*和?的字符串匹配。

实现通配符*和?的小程序?BOOL WINAPI FuzzyMatch(const char *src, const char *dst){ int itm = 0; int itn = 0; int tmp_a = 0; int tmp_b = 0; if (0x00 == src[0]) { return TRUE; } while(src[itm] && dst

2014-11-17 17:11:10 2764

原创 关于DialogBox的使用

在dll中调用DialogBoxA要注意,DialogBoxA的第一个参数是

2014-11-12 21:25:00 4396

原创 C#开发启用Visual Studio宿主进程

项目-属性-调试 选中启用Visual Studio宿主进程xi

2014-11-10 14:38:17 2434 1

原创 程序异常时通过dump文件记录下异常的详细信息

在开发过程中j

2014-10-30 15:14:44 4118

转载 堆损坏异常调试

今天调试一个bug,用pageheap解决,在此记录一下。bug症状如下:1:不确定性崩溃,用vs调试启动每次崩溃地点都在crt分配或者释放堆的位置2:崩溃时vs看到的调用栈可能不同3:output输出HEAP: Free Heap block 388c58 modified at 388c88 after it was freed问题分析:根据vs的输出,

2014-10-22 15:18:34 4165

转载 LIBCMT.lib与msvcrtd.lib冲突的链接错误

LIBCMT.lib与msvcrtd.lib冲突的lianjiech当然,如果不把tinyxml.lib库添加进去,只是外部符号无法解析(用到外部类库的类文件,不添加当然是无法解析的啦)错误如下:1>正在链接...1>BuildEngine.obj : error LNK2019: 无法解析的外部符号 "public: bool __thiscall TiXmlDocument

2014-10-21 14:39:39 505

原创 dll中的窗体设置xp风格

项目->属性,配置属性, c/c++, 命令行,附加选项, 输入: /D ISOLATION_AWARE_ENABLED

2014-08-14 11:06:51 648

原创 c# BadImageFormatException异常

其他版本1(共 3)对本文的评价是有帮助 - 评价此主题当 DLL 或可执行程序的文件映像无效时,便会引发 BadImageFormatException 异常。相关提示如果您的应用程序使用了 32 位组件,请确保该应用程序始终采用 32 位应用程序的运行方式。如果应用程序项目的“平台目

2014-07-25 13:33:42 708

eclipse使用教程

eclipse开发教程,详细介绍了使用方法,学习java的同学可以了解一下。

2018-06-17

天书夜读(高清pdf)

windows开发资料,经典的驱动开发教程,学习windows的同学可以了解下。

2018-06-17

驱动开发经典资料

windows驱动开发,很经典,学习windows开发的同学可以看下。

2018-06-17

能编译的notepad++编辑器的源码

能编译的notepad++编辑器的源码,代码写的很漂亮,初学者可以学习一下!

2018-06-17

体积小巧,功能强大的网络嗅探和分析工具SnifferView 版本-1.0.0.25

SnifferView是一个体积小巧,功能强大的网络分析工具,能有效的帮助你查看和分析网络数据和排查网络问题,它的特点如下: 1.体积小巧,200k左右,只有一个文件,运行和数据分析速度很快。 2.支持类似著名抓包工具Wireshark的封包过滤语句,并进行了优化,更加易于使用,具体的规则可以参见过滤规则帮助文档。 3.支持传输层协议Tcp,Udp,Icmp协议,应用层Http协议的分析。 4.支持网络数据的导出和导入,比如可以将在客户那里捕获到的封包数据保存成文件带回来通过SnifferView进行分析。 5.支持应用程序网络状态的查看,可以查看全部或者是特定应用程序的网络状态,比如已建立的网路连接,网络连接的协议类型,端口,ip等等。 6.支持按窗口查看应用程序的网络状态。

2015-08-19

网络封包嗅探和分析工具SnifferView

通过raw嗅探获取ip层网路封包,绿色,精巧,不需要驱动,不需要安装,只有一个应用层的可执行文件大约300多KB。 支持类似wireshark过滤器的过滤语句,并从一个普通程序员的角度出发做了一些调整和优化。 网络封包的处理使用了多重缓存机制,不会因为封包的分析阻塞网络数据的接收。 主界面大小可变,可以随意拖动,并且提供了gdi自绘的hex控件,支持高亮展示封包数据并且高亮内容支持配置。 提供了网卡选择界面,可以通过配置嗅探你感兴趣网卡的网络封包。 支持将嗅探到的网络封包保存成文件,支持封包文件数据的导入和分析。 主界面网络封包的展示采取了特殊的处理,在网络流量很大的情况(2m/秒以上)或者封包总数很多的情况(总数超过50万条)下不会感到不流畅。

2015-05-13

对话框大小改变后动态调整对话框控件的demo

对话框大小改变后对对话框上面控件的大小和位置进行动态的调整。

2014-09-18

空空如也

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

TA关注的人

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