自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (18)
  • 收藏
  • 关注

原创 如何自绘滚动条?

前几天,突然心血来潮,想做个自己的滚动条来玩玩,今天算完成个小样(注意是小样,所以代码写得不是很好,高手见谅,我只是看看要用到什么技术)。刚开始我猜想可能要用到CScrollBar里面的函数,所以我就继承了它,生成派生类CScrollBarEx。等整个东西做下来发现,根本没有用到CScrollBar里面的函数,所以可以直接重CWnd派生。 技术细节: 在类的构造函数里,加载

2010-01-25 15:57:00 1637

转载 跨进程API Hook(初稿)

跨进程API Hook作者: detrox什么是“跨进程 API Hook”?众所周知Windows应用程序的各种系统功能是通过调用API函数来实现。API Hook就是给系统的API附加上一段小程序,它能监视甚至控制应用程序对API函数的调用。所谓跨进程也就是让自己的程序来控制别人程序的API调用了。API Hook 理论通过对Win32 PE文件的分析(如果你还不熟悉PE文件格式,

2009-09-06 21:58:00 741

转载 Inno setup 常用代码收集

1 、如何让协议许可页面默认选中我同意按钮[code]procedure InitializeWizard();beginWizardForm.LICENSEACCEPTEDRADIO.Checked := true;end;2、自定义安装程序右上角图片大小[code]procedure InitializeWizard();beginWizardForm.WizardSmallBitma

2010-03-31 11:37:00 859

转载 Proxy源代码分析——谈谈如何学习Linux网络编程

  Linux是一个可靠性非常高的操作系统,但是所有用过Linux的朋友都会感觉到, Linux和Windows这样的"傻瓜"操作系统(这里丝毫没有贬低Windows的意思,相反这应该是Windows的优点)相比,后者无疑在易操作 性上更胜一筹。但是为什么又有那么多的爱好者钟情于Linux呢,当然自由是最吸引人的一点,另外Linux强大的功能也是一个非常重要的原因,尤其是 Linu

2010-03-04 23:03:00 482

转载 通过CToolBarCtrl创建MenuBar

Code for this article: Jan99CQA.exe (71KB)Paul DiLascia is the author of Windows ++: Writing Reusable Code in C++ (Addison-Wesley, 1992) and a freelance consultant and writer-at-large. He can be rea

2010-01-09 21:48:00 1343 1

转载 installshield mysql

Data Type in InstallShield   And Win32API Data TypeBOOL TRUE or FALSE CHAR 8-bit 有符号字符DWORD 同NUMBERHWND 窗口句柄(内部类型是NUMBER)INT 同NUMBERLIST 指向InstallShield list的指针(内部类型是NUMBER) LONG 同NUMBERLPSTR 同POINTER

2009-10-26 22:03:00 2278

原创 网络开机

void CPowerOnDlg::OnPowerOnFromNet() { UpdateData(); //m_b1(00) m_b2(01) m_b3(6c)m_b4( 04) m_b5(cb)m_b6( 29)这些是mac地址 unsigned char MacAddress[6]; ISVALID(m_b1); ISVALID(m_b2); ISVALID(m_b3); ISVALID(m

2009-10-25 21:27:00 424

转载 开机启动

 开机自动运行的几个途径1. 注册表项:HKEY_USERS/.DEFAULT/Software/Microsoft/Windows/CurrentVersion/RunHKEY_USERS/.DEFAULT/Software/Microsoft/Windows/CurrentVersion/RunonceHKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/

2009-09-06 21:54:00 385

转载 无进程DLL木马的又一开发思路与实现(转载)

无进程DLL木马的又一开发思路与实现  作者:TOo2y  来源:不详  加入时间:2003-2-3  阅读次数:  一.Windows下进程的隐藏二.Windows Socket 2 SPI技术概述三.基于SPI的DLL木马技术四.主要代码分析五.小结与后记六.附录之源代码一)Windows下进程的隐藏在M$的32位操作系统中,有许许多多的办法可以实现进程隐藏的功能。在Win

2009-09-06 21:51:00 584

转载 hook其他进程的API

今天终于有了一个小小的进步就算是自己的努力来完成的,没想到HOOK其他进程的API原来这样的简单。其实就是两个关键的技术(HOOK-API和远程线程注入)。HOOK是一种WINDOWS下存在很久的技术了。 HOOK一般分两种1。HOOK MESSAGE 2。HOOK API 本问讨论的是HOOK API。(如果你是HOOK高手就不要看了) 在最初学HOOK-API的时候通常都是通过"覆盖地址"

2009-09-06 21:38:00 1041

转载 进程防杀的实现

在WINDOWS操作系统下,当我们无法结束或者不知道怎样结束一个程序的时候,或者是懒得去找“退出”按钮的时候,通常会按“CTRL+ALT+DEL”呼出任务管理器,找到想结束的程序,点一下“结束任务”就了事了,呵呵,虽然有点粗鲁,但大多数情况下都很有效,不是吗?设想一下,如果有这么一种软件,它所要做的工作就是对某个使用者在某台电脑上的活动作一定的限制,而又不能被使用者通过“结束任务”这种方式轻易地解

2009-09-06 21:36:00 424

转载 线程池二

#ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include #include #include #include using namespace std;class ThreadJob  //工作基类{public:  //供

2009-09-04 23:38:00 370

转载 简单的线程池

【转】一个简单的线程池(c++版) #ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include #include #include #include class ThreadJob  //工作基类{public:    //供线程

2009-09-04 23:35:00 355

转载 IOCP例子

 #include "stdafx.h"#include iostream.h>#include #include #include #define PORT 5150#define DATA_BUFSIZE 8192typedefstruct{ OVERLAPPED OVerlapped; WSABUF DATABuf; CHARBuffer[DA

2009-08-26 22:30:00 817

原创 How to handle chevron button using CToolBarCtrl object?

Most of the developers work with CToolBarCtrl but they get stuck when it comes to display chevron button. This article is all about how to get chevron button displayed on CToolBarCtrl control while

2009-08-24 15:04:00 882

C++必知必会.pdf

C++必知必会.pdf

2013-09-08

Google C++编程规范.pdf

Google C++编程规范.pdf .

2013-09-08

Effective Java 中文.pdf

Effective Java 中文.pdf 扫描版 有书签

2012-06-17

windows核心编程(第四版)

windows核心编程(经典书籍)(chm版本) (Jeffrey Richter著)

2009-07-15

Effective C++

Effective C++经典书籍(非扫描版,有书签)

2009-07-13

后台下载文件封装类(VC)

后台下载文件封装类(VC),要的下!!!

2009-04-29

窗口上的超链接类(VC)

窗口上的超链接类(VC),要的朋友可以下!!!

2009-04-29

带文字提示的进度条(VC)

带文字提示的进度条,要的朋友可以下!!!

2009-04-29

Windows未公开的API函数

Windows.NT.2000.Native.API.Reference(pdf格式)

2009-03-22

mysql5·1官方中文手册·CHM

mysql5·1官方中文手册·CHM 有需要的朋友可以下。。。

2009-03-22

MFC类库详解(中文版)

MFC类库详解(中文版)有需要的朋友可以下

2009-03-22

扩展型的状态条 VC

本程序实现扩展型的状态条 VC 源码: StateBar

2009-03-15

windows驱动开发的好书 Programming the Microsoft Windows driver model中文版

Programming the Microsoft Windows driver model中文版.chm

2009-03-06

虚拟还原功能的源代码

(此资源来自网络,本人不负任何责任) 易 游等等的虚拟还原功能都是用这开发的 一 安装和使用方法: 1 安装:看install.txt文件; 2 挂载:filedisk /mount 0 c:\proj\myfiledisk\a.img e: 3 卸载:filedisk /umount e: 详细看example.txt文件,在本站的下载中心有下载,包括核心层和应用层的源码。 最多可以同时挂4个设备,分别定义4个设备号,如果同一设备号使用2次,会进入OPEN_FILE两次,出现"FileDisk: IOCTL_FILE_DISK_OPEN_FILE: Media already opened\n"的错误提示; 二 基本知识: 1 关于DefineDosDevice函数: 在应用层开发中调用它来创建一个\??目录下的符号链接,如: BOOL okay = DefineDosDevice(DDD_RAW_TARGET_PATH, "test", "\\Device\\FileDisk0"); 调用成功后,将会在设备命名空间的\??目录下生成一个名为”test“的符号链接,该链接指向”“\\Device\\FileDisk0“这个对象。 而在核心态的驱动程序中,需要调用以下的函数来创建相应的符号链接: IoCreateSymbolicLink(linkname, targname); Linkname是要创建的符号链接名,相当于上面函数中的”test”,targname是该链接指向的设备对象。 2 filedisk的源映像可以是img,iso,flp等,这些都是磁盘上一个分区的平面映像,所以挂上后可以直接访问,但不能是整个硬盘的img映像或其它格式如rar等; 3 filedisk的源映像文件名称必须是全路径,即使是在当前目录下也必须是全路径; 4 源映像文件如果不存在且参数中没有指定只读,那么只要在参数中指定了大小则会主动创建它,使用前会提示先“格式化”,之后就可正常使用了; 三 核心层源码分析: 1 DriverEntry: 主函数入口;备份传入路径,查询注册表值,调用ZwCreateDirectoryObject创建设备目录,重复4次调用 FileDiskCreateDevice创建设备,初始化操作函数指针。 2 FileDiskCreateDevice:调用IoCreateDevice创建设备,KeInitializeEvent初始化事件对象,PsCreateSystemThread创建内核线程,入口函数是FileDiskThread,传入的函数参数为IoCreateDevice返回的设备对象。 3 FileDiskThread:首先调用KeSetPriorityThread更改自身线程的优先级为LOW_REALTIME_PRIORITY,然后开始for(;;),调用KeWaitForSingleObject函数等待事件对象有信号,如果等到,判断事件类型,有如下几种: IRP_MJ_READ:调用ZwReadFile读取文件,从内核到用户缓冲区; IRP_MJ_WRITE:调用ZwWriteFile写入文件,从用户到内核缓冲区; IRP_MJ_DEVICE_CONTROL:在FileDiskDeviceControl设置事件才会触发,主要有如下两种操作码: IOCTL_FILE_DISK_OPEN_FILE:调用FileDiskOpenFile。 IOCTL_FILE_DISK_CLOSE_FILE:调用FileDiskCloseFile。 FileDiskOpenFile:根据用户程序传入的映像文件全路径,调用ZwCreateFile在内核中打开它,如果文件不存在则再创建它,返回文件句柄。 FileDiskCloseFile:调用ZwClose关闭文件。 4 FileDiskCreateClose: 仅返回成功;对应Create,Close操作。 5 FileDiskReadWrite:将IO包插入队列,然后调用KeSetEvent函数,激活事件对象;对应Read,Write操作。 6 FileDiskDeviceControl:用户程序调用DeviceIoControl的响应函数,主要有如下两种操作: IOCTL_FILE_DISK_OPEN_FILE:设置好参数,将IO包插入队列,设置对象为有信号。 IOCTL_FILE_DISK_CLOSE_FILE:将IO包插入队列,设置对象为有信号。 其它的操作类型因为输入输出共用一个缓冲区,所以都采用系统默认处理,设置好需要输出的参数后,就直接从这个函数返回了。如: IOCTL_DISK_GET_DRIVE_GEOMETRY,IOCTL_CDROM_GET_DRIVE_GEOMETRY等; 7 有4种操作是自定义的:FileDiskReadWrite函数两种,FileDiskDeviceControl函数两种,对应的操作码分别是: IRP_MJ_READ,IRP_MJ_WRITE,IOCTL_FILE_DISK_OPEN_FILE,IOCTL_FILE_DISK_CLOSE_FILE这4种,在FileDiskThread中等待这4种事件发生,如果等到,就调用相应的函数处理。 四 应用层源码分析: 1 mount:调用DefineDosDevice在应用层创建一个指向设备命名空间的符号链接,用CreateFile打开此链接,然后调用DeviceIoControl,控制码是IOCTL_FILE_DISK_OPEN_FILE,内核程序响应后,执行真正打开源映像文件的操作。 2 umount: 上面大致一样,只是多一些步骤,不同的是控制码改为IOCTL_FILE_DISK_CLOSE_FILE,之后必须发送FSCTL_DISMOUNT_VOLUME

2009-01-21

数据结构(C++)课件

数据结构(C++)课件,电子课件可以看看

2008-11-01

空空如也

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

TA关注的人

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