自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(81)
  • 资源 (9)
  • 收藏
  • 关注

转载 WTL记录

超类化类似于C++的继承。目的:扩展基类窗口的一些功能。子窗口复制基类窗口的窗口过程,然后替换掉名字和窗口过程,如果消息自己处理完后仍然想交给基类窗口处理,那么可以路由到基类窗口过程。宏DECLARE_WND_SUPERCLASS(子类窗口名称,基类窗口名称)帮助我们实现这一步骤,下面我们要做的就是编写消息映射宏进行消息处理。子类化用SetWindowsLong函数将基类窗口的窗口

2013-05-29 10:20:49 191

转载 避免c++程序在windows7或vista下关闭后出现程序兼容性助手

在Vista/Win7下 运行一个 exe 应用程序后,系统经常弹出 兼容性助手对话框。这个十分烦人,上网搜索解决方案, 满屏都是修改系统组策略(实质是修改注册表),但是作为一个商业产品,有的用户不同意你随便修改他们的系统, 即便是你的安装程序偷偷的改也不行。而且这种解决方案不应该是一个开发人员的首选方案。     其实对于这个问题,微软已经为应用程序的 menifest 文件

2012-09-28 15:56:57 165

转载 注册atl组件返回错误0x80040154的原因及解决办法

注册atl组件返回错误0x80040154的原因及解决办法今天用VC6做了一个com组件,使用ATL模板创建,结果在使用regsvr32.exe注册时死活注册不上,返回0x80040154,使用Error Lookup查看错误号结果是“没有注册类别”,百思不得其解,即使以前可以注册的组件现在也无法注册了,怀疑是操作系统的问题。上网搜索了半天,最终还是在微软的官方网站上找到了一点儿蛛

2012-02-28 19:10:14 380

转载 reinterpret_cast,static_cast,dynamic_cast,const_cast详解

http://www.doserver.net/read.php?520http://blog.csdn.net/lujunql/article/details/4454635

2011-11-10 16:19:52 130

原创 ws2s

std::string ws2s(const std::wstring& ws){ std::string curLocale = setlocale(LC_ALL, NULL); setlocale(LC_ALL, "chs"); const wchar_t*

2011-08-25 13:30:42 155

原创 WTL消息以及处理函数声明

2010-04-14 18:09:02|  分类: WTL|字号 订阅MSG_WM_CREATELRESULT OnCreate(LPCREATESTRUCT lpCreateStruct);MSG_WM_INITDIALOGLRESU

2011-08-20 17:16:55 180

转载 GetCpuLogoInfo

作者: -日期: -来源: 黑客反病毒 (http://bbs.hackav.com)出处: http://bbs.hackav.com注意: 转载请务必附带本组信息,否则侵权必究!***************************************

2011-08-20 15:00:13 133

原创 Redirection

关于文件和注册表的重定向:       需要这个技术的原因是需要在x64系统上面把32位程序和64位程序分离开。这种技术有个强大的名字叫WOW64,注意不是魔兽世界64级哦,哈哈。       出于一些特殊的目的,一些注册表键被分成了两个部分,主要有以下一些:      HKEY_CLASSES_ROOT       HKEY_CURRENT_USER/Software

2011-06-22 09:27:00 140

原创 超类化

超类化类似于C++的继承。目的:扩展基类窗口的一些功能。子窗口复制基类窗口的窗口过程,然后替换掉名字和窗口过程,如果消息自己处理完后仍然想交给基类窗口处理,那么可以路由到基类窗口过程。宏DECLARE_WND_SUPERCLASS(子类窗口名称,基类窗口名称)帮助我们实现这一步骤,下面我们要做的就是编写消息映射宏进行消息处理。子类化用SetWindowsLong函数将基类窗口的窗口

2011-06-15 19:24:00 159

原创 RGN描上一个边

一、在Windows操作系统提供的函数及MFC提供函数中找不到给RGN描边的方法,这给GDI工作者带来了很多麻繁,如何描述魔术棒选出的不规则区域呢,经过一段时间的摸索,我终于找到了一个完美的解决方案。二、给RGN描上一个边,我的实现思路是这样的,将RGB平移一个象素,形成一个新的RGN,用新的RGN与原有的RGN进行异或,就会形成一个线条RGN区域,再对这个区域进行填充,是不是就达到了描边的效

2011-06-15 19:22:00 173

转载 HideListHeader

如上图,每一个ListCtrl都有一个Header,并且没有提供不用Header的方法。仔细看了Header相关的文档,发现Header有一条消息HDM_LAYOUT是ListCtrl发给它的。在HDM_LAYOUT消息中,能控制Header的大小,在这里把高度设成0就搞定了。为了达到这个目的我写了一个Class CHideListHeader,简单起见我用了WTL,它的头文件如下:#prag

2011-06-15 12:51:00 164

原创 获得系统图像列表

获得系统图像列表介绍系统图像列表(有时亦被称作 Shell 图标缓存)是一个由 Windows Shell 维护的图标资源,资源管理器和其它应用程序使用这个列表来显示系统对象、程序和文件类型的图标。 这个列表其实就是一个简单的 HIMAGELIST(可以用图像列表 API 存取的标准图像列表),一些应用程序可能会发现显示系统提供的图标更好一些,而不是自己内部存储这些图标的副本。所以,本

2011-06-15 12:49:00 171

原创 表驱动

  一,什么是表驱动  表驱动,又称之为表驱动法、表驱动方法。  “表”是几乎所有数据结构课本都要讨论的非常有用的数据结构。表驱动方法出于特定的目的来使用表,程序员们经常谈到“表驱动”方法,但是课本中却从未提到过什么是"表驱动"方法。表驱动方法是一种使你可以在表中查找信息,而不必用很多的逻辑语句(if或Case)来把它们找出来的方法。事实上,任何信息都可以通过表来挑选。在简单的情况下,逻辑

2011-06-15 12:47:00 252

转载 GetOSType()

<br /><br /> <br />enum Win32Type{ <br />Win32s, <br />WinNT3, <br />Win95, <br />Win98, <br />WinME, <br />WinNT4, <br />Win2000, <br />WinXP, <br />Win2003, <br />WinVista, <br />Win2008, <br />Win7, <br />ERROROS<br />}; <br /> <br />Win32Type GetShellT

2011-06-02 09:49:00 202

原创 COM 的挂钩

<br /><br />COM 的挂钩其实已经是一个很古老的话题了,其核心技术就是替换 COM 对象虚表中相应位置的函数指针,从而达到挂钩的效果。顺便说一句,这个方法和内核的 SSDT 挂钩是十分类似的。其相应的实现代码也十分简单,如下所示:<br /> view plaincopy to clipboardprint?typedef struct _tagHookHelper {      PVOID* vptr;  } HOOKHELPER, *PHOOKHELPER;    PVOID WINAPI 

2011-04-30 11:57:00 189

转载 LISTCTRL

<br /><br />前面写过两篇CListCtrl控件的开发总结,最近在开发和应用当中又发现了几个比较有趣的问题,主要是关于自绘滚动条的。从我的感觉来说,做CListCtrl控件(我们一直在讨论report风格)的自绘滚动条是比较复杂的,因为里边有很多特殊的地方,很可能会让你备受挫折。<br />   <br />    先说一下实现自绘滚动条的思路。首先要隐藏CListCtrl自带的滚动条,如果你简单的认为加上LVS_NOSCROLL风格就能搞定的话,你一定会大失所望,具体我们后面会讲到。然后就是要封

2011-04-26 13:22:00 202

原创 pid->handle

1、pid->handleOBJECT_ATTRIBUTES ObjectAttributes;CLIENT_ID clientid;InitializeObjectAttributes(&ObjectAttributes, 0 ,OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, 0, 0);clientid.UniqueProcess = (HANDLE)pid;clientid.UniqueThread=0;ZwOpenProcess(&handle, PROCESS_

2011-04-04 12:03:00 168

转载 Stack Walking in Xperf

<br /><br /><br />Bruce Dawson is a performance analyst on the client performance team.  He has written this guest post on enabling stack walking using xperf for both 32-bit and 64-bit Windows systems (Vista and Win7).  For more posts on xperf see this pag

2011-03-30 19:36:00 306

原创 xperf

<br /><br /> <br />I recently came across a very interesting profiling tool that is available in Vista SP1 and Server 08 called the Windows Performance Analyzer. You can use this tool to profile and diagnose different kinds of symptoms that the machine is

2011-03-30 19:32:00 434

原创 find_if

struct Stu {intnage ;string sname;};class Predicate{public:Predicate(int x) : x(x) {}bool operator() (const Stu& StuInfo) const { return StuInfo.nage == x; }private:const int x;};int main( void ){list m_list;Stu stu1,stu2;stu1.nage = 11;stu1.sname = "aaa";

2011-03-29 16:10:00 190

原创 对CHAIN_MSG_MAP() CHAIN_MSG_MAP_ALT()的一点理解

<br /><br />这个宏的作用是将该类和父类的ProcessWindowMessage()连起来<br />class CBase: public CWindowImpl< CBase ><br />// simple base window class: shuts down app when closed<br />{<br />BEGIN_MSG_MAP( CBase )<br />   MESSAGE_HANDLER( WM_DESTROY, OnDestroy )<br />   MESSA

2011-01-21 17:13:00 579 1

原创 浅析WTL中的消息反射

WTL是窗口模板库(Windows Library Template)的简称,是一套轻量级C++ GUI库,因为它使用了C++模板封装了窗口界面操作API和消息映射处理,它扩展了ATL中的UI窗口部分,并支持如下更多的功能特性: (1) 对话框和通用控件:包括对话框数据交换(DDX),子类化,控件消息通知与反射等 (2) 工具栏和状态栏:包括工具条UI状态更新,多窗格状态条及UI状态更新等 (3) 分隔窗口:包括窗格容器,嵌套分隔,特殊

2011-01-19 22:32:00 250

原创 STL算法学习,小结如下:

<br /><br />STL算法学习,小结如下:<br />前提:<br />下载stl源码:  http://www.sgi.com/tech/stl/download.html<br />打开网页:     http://www.sgi.com/tech/stl/stl_index.html<br />一   函数对象: 因为很多的算法中多使用了函数对象<br /><br />二元函数对象,V1和V2为输入,V3为结果<br />plus<T>:<br />  transform(V1.begin()

2010-12-14 20:46:00 144

转载 WRK安装与配置始末

<br />[转]WRK安装与配置始末<br /> <br /><br />BY:crazyearl<br />最近买了本《Windows内核原理与实现》,书中是以WRK的代码为例讲述操作系统内核的。<br />可书中配置WRK部分是以微软给的免费光盘的内容,配合了Virtual PC2007的虚拟系统。可在官网上并不是每个人都可以得到的,所以记录一下我的安装配置始末。希望对你有帮助少走弯路!<br /><br />点这里了解什么是WRK(Windows Research Kernel)<br /><br

2010-11-26 10:35:00 299

原创 无线路由器密码破解 BT3 spoonwep2

<br />http://www.hellocpp.com/?p=116<br /> <br /><br />无线路由器密码破解-BT3-spoonwep2<br />本文是无线网络密码破解傻瓜图文只做技术交流之用,提醒各位注意无线网络安全性,请勿<br />用于其他用途,否则后果自负http://www.hellocpp.com<br />  前言:面对电脑搜索到的无线网络信号,你是否怦然心动?但看到一个个“启用安全的无<br />线网络”你是否又感到有一丝遗憾。本人作为一个心动+遗憾的代表,充分发挥主观

2010-11-20 16:35:00 410 1

转载 在Unicode下无法用ReadString()读写中文

利用CStdioFile类中的ReadString()方法可以从文件中读取一行,但是在Unicode下,读取的内容有误,同时也无法将中文利用WriteString()写入文件。原因就在于读取文件时是按照ASC 方式读取的,而直接设定字符串时,是按照nicode方式读取的。若使得读取文件时按照 Unicode方式读取,则需要添加:    setlocale( LC_CTYPE, "chs" ); 其对应的头文件为

2010-11-07 21:49:00 184

原创 API by killvxk

<br />#define WIN32_LEAN_AND_MEAN<br />#include <windows.h><br />#include <strsafe.h><br />#include <stdio.h><br />#include <stdlib.h><br /><br />#pragma comment (lib, "advapi32.lib")<br /><br />DWORD GetDebugPrivilege()<br />{<br />    HANDLE hToken;<br /

2010-10-11 20:09:00 224

原创 VC实现:bmp转jpg、jpg转bmp、截屏保存jpg

http://blog.csdn.net/sunboy_2050/archive/2010/07/15/5738503.aspxhttp://blog.csdn.net/Sunboy_2050/archive/2010/06/03/5645831.aspx    各种基本算法实现小结(五)—— 排序算法int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)   {       UINT num = 0;                     // n

2010-09-08 23:29:00 241 1

原创 各种基本算法实现小结(五)—— 排序算法

http://blog.csdn.net/sunboy_2050/archive/2010/07/15/5738503.aspxhttp://blog.csdn.net/Sunboy_2050/archive/2010/06/03/5645831.aspx    各种基本算法实现小结(五)—— 排序算法

2010-07-22 16:27:00 139

原创 JScript.Encode脚本加密与解密

<br />http://www.jb51.net/tools/onlinetools/jiemi/jsendecode.htm

2010-07-01 18:53:00 169

转载 《暴雪公司有个经典的字符串的hash公式

《暴雪公司有个经典的字符串的hash公式》(网上搜的) 打造最快的Hash表(和Blizzard的对话)   開元最近学习了一下Blizzard的MPQ文件格式,颇有一些心得,其中一条就是对HastTable的理解,很想写出来给大家共享,感谢Justin Olbrantz的文章《Inside MoPaQ》,大多认识来源于此。    先提一个简单的问题,如果有

2010-05-16 12:54:00 197

转载 程序员的智慧-聊聊那些经典设计和经典算法

标 题:程序员的智慧-聊聊那些经典设计和经典算法 作 者: xxxdebug时 间: 2010-05-16,03:30:50链 接: http://bbs.pediy.com/showthread.php?t=113110作为一个程序员,在工作和学习过程中,有哪些好的算法让你拍案叫绝?那些好的思路让你豁然开朗?C++的虚函数======================C++使用虚函数实现了其对象的

2010-05-16 12:30:00 187

原创 由于 IE8 导致的 VS2008 中添加 控件成员变量和添加成员函数弹出错误的问题的结决方法

1 . 新建记事本文件,输入下边的内容:Windows Registry Editor Version 5.00[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/Zones/1000]"1207"=dword:000000002.  另存为1.REG3.  运行该文件即可:

2010-03-14 18:52:00 200

原创 SetUnhandledExceptionFilter 用法

 LONG WINAPI GEHExceptionFilter( _EXCEPTION_POINTERS* ExceptionInfo ) {  printf( "Exception .../n" );  ExitProcess( 0 );  return EXCEPTION_CONTINUE_SEARCH; }  void Bug() {  *( int* )0 = 0; } t

2010-03-13 09:40:00 286

转载 LIST_ENTRY 结构

 常见的 Windows 2000 数据类型是 LIST_ENTRY 结构。内核使用该结构将所有对象维护在一个双向链表中。一个对象分属多个链表是很常见的, Flink 成员是一个向前链接,指向下一个 LIST_ENTRY 结构, Blink 成员则是一个向后链接,指向前一个 LIST_ENTRY 结构。通常情况下,这些链表都成环形,也就是说,最后一个 Flink 指向链表中的第一个 LIST_

2010-02-13 23:56:00 701

转载 病毒的重定位技术

1.2  1.病毒的重定位技术 by  xfish  病毒的重定位技术应该也算是最基本和最有用的技术之一了,其实重定位技术只要是对外壳开发比较熟悉的朋友都应该很熟悉了。重定位顾名思义重新定位地址。上篇文章中我们已经讲解到了由于我们被感染对象的不同,我们部分定义的变量被插入的地址也不同。所以这就需要我们重新定位,也就是今天的主题——重定位技术。  首先我们来看假如我们定义一段变量        sz

2010-02-13 23:54:00 199

转载 七种找OEP的方法

七种找OEP的方法文剪公注 : 原文是说7种脱壳方法,不想忽悠大家,这玩意只是脱壳的第一步,擅自改了标题OD手动脱壳的7种法则方法一:单步跟踪法  1.用OD载入,点“不分析代码!”  2.单步向下跟踪F8,实现向下的跳。也就是说向上的跳不让其实现!(通过F4)  3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——>运行到所选)  4.绿色线条表示跳

2009-12-12 20:30:00 532

转载 SEH IN ASM 研究(二)

SEH IN ASM 研究(二)                                         ---提高篇                                       By Hume[AfO]/冷雨飘心                         part 4  关于异常处理的嵌套和堆栈展开     在实际程序设计过程中,不可能只有一个异常处理例程,这就产生

2009-12-09 18:38:00 142

转载 SEH in ASM研究 一

SEH in ASM研究作者: Hume第一部分 基础篇PART I 简单接触 一、SEH背景知识SEH("Structured Exception Handling"),即结构化异常处理.是(windows)操作系统提供给程序设计者的强有力的处理程序错误或异常的武器.在VISUAL C++中你或许已经熟悉了_try{} _finally{} 和_try{} _except {

2009-12-09 18:36:00 204

转载 《学习心得---关于SSDT》里面我有两个疏忽的地方 by charme

《学习心得---关于SSDT》里面我有两个疏忽的地方。 by charme一个就是sysenter,一个就是win32k。这两个东西我都没有说清楚。在这里先把win32k阐述下。我之前说了,shadows SSDT主要是检测win32k.sys这个的。怎么个意思呢?我们怎么才能找到win32k.sys模块里导出的函数呢?没有进入系统的时候,我们看下情况:x win32k!*         ^这样

2009-12-01 11:23:00 213

total commander 7.56a 注册

total commander 7.56a 注册

2011-03-30

WTL81_9127

Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more.

2011-01-11

relox 重定位 ImportRec作者

relox 重定位 ImportRec作者 DLL 重定位修复

2010-06-12

InstDrv.zip

驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具驱动安装工具

2009-12-01

DriverMonitor

驱动测试工具驱动测试工具驱动测试工具驱动测试工具驱动测试工具驱动测试工具

2009-12-01

userinit.exe

userinit.exe 中机器狗后会替换这个文件,

2009-09-01

LINUX常用命令集

LINUX常用命令集学习LINUX不会命令怎么能行

2009-08-04

LINUX常见问题1000个详细解答

LINUX常见问题1000个详细解答 学LINUX不能不看的东西

2009-08-04

用好STL50条款 Effectives STL

Effectives STL 不多说什么了,经典

2009-04-13

空空如也

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

TA关注的人

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