自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

若水的专栏

一只特立独行的猪

  • 博客(52)
  • 资源 (27)
  • 收藏
  • 关注

原创 补码

补码

2010-07-04 18:40:00 1249

原创 eMule代码分析-托盘图标

1. 托盘图标  电驴的托盘图标的截图。相关代码的实现在CemuleDlg::OnTrayRButtonUp里面。void CemuleDlg::OnTrayRButtonUp(CPoint pt){ .............. if (m_pSystrayDlg) { m_pSystrayDlg->BringWindowToTop();

2009-12-06 17:31:00 777

转载 CListCtrl

 CListCtrl是列表控件类,列表控件的每一行叫做一个item,每一列叫做一个subitem。每一行和每一列都有个ID号,可以确定唯一的单元格。最近使用了这个控件,有心得总结如下:      (Dialog模式)                                                                                        

2009-12-04 22:30:00 2045

转载 汇编指令

一、数据传输指令  ───────────────────────────────────────      它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.      1. 通用数据传送指令.          MOV    传送字或字节.          MOVSX  先符号扩展,再传送.          MOVZX  先零扩展,再传送.          PUSH    把字压入

2009-08-22 23:13:00 560

转载 学会利用搜索引擎(转自看雪)

我发现初学者往往只是不知道怎么利用网络的资源,所以才会提出一些在老手看来比较“幼稚”的问题。其实在网络上“淘金”还是有技巧的,而我自己是这样寻找帮助的:(在使用MSDN搜索过,并找不到满意的答案的前提下)1、首先使用http://www.google.com例如,前段时间我想找一个对话框淡入淡出的源代码,我就在google里使用了下面的关键字:AnimateWindow 例子代码 SD

2009-08-22 22:59:00 796

转载 32位CPU寄存器

32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时

2009-08-22 22:49:00 1693

转载 额,看到一张好图,转来

2009-08-16 16:37:00 1079 1

原创 Linux内核情景分析读书笔记——存储管理之地址映射全过程

Linux内核采用页式存储管理。虚拟地址空间划分成固定大小的“页面”,由CPU的MMU在运行时讲虚拟地址“映射”成某个物理内存页面的地址。由于i386 CPU对地址先进行段式映射(必须的),然后才能进行页式映射(可选的)。Linux让段式映射前后的地址一样。对于用户空间内的虚拟地址0x08048368为例,进行说明。第一.  i386 CPU使用代码段寄存器CS的当前值来作为段式映

2009-08-16 15:37:00 1450

原创 三种总线

摘自汇编语言(王爽)地址总线CPU通过地址总线来制定存储单元。地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。地址总线的宽度决定了CPU的寻址能力。数据总线CPU与内存或其他部件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量。控制总线控制

2009-08-09 23:16:00 1232

转载 关于实模式和保护模式

       首先说明实模式,虚拟模式,保护模式是X86中的概念。       我从寻址方式来说,CPU的IP(EIP)中存放的是虚地址,把一个虚地址转换为物理地址,模式不同,转换方式不同:       实模式下-虚地址到实地址转换,段寄存器左移四位与偏移相加,得到物理地址,寻址空间1M。       保护模式下--虚地址到实地址转换经过MMU,也就是分段和分页机制(具体了解这个比较复杂,但其实也

2009-08-09 23:04:00 3325 2

转载 80X86保护模式内存管理

 上面的两张图片是《Linux内核完全注释》里的

2009-08-09 18:50:00 1521

转载 MS-VC 使用MAP文件快速定位程序崩溃代码行

程序员,平时最担心见到的事情就是程序发生了崩溃,无论是指针越界还是非法操作,都将给我们的应用系统造成巨大的损失。但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事。其实测试中出现程序崩溃并不可怕,反而是测试的成功。我们更为关心的是程序中的哪一行导致了系统崩溃,这样我们才能有针对性的进行改正。  在VC中,我们可以利用出现程序崩溃时VC的自动跳转,定位到出错代码行。但在大量的压力测试

2009-05-23 23:09:00 2341

原创 控制台程序中实现消息传递

 http://www.codeproject.com/KB/winsdk/console_event_handling.aspx用PostThreadMessage,在线程里循环调用GetMessage或者PeekMessage接受消息,和有窗口一样

2009-04-19 21:25:00 2141

转载 session全解(转)

 阅读本文章前,需要读者对以下知识有所了解。否则,阅读过程中会在相应的内容上遇到不同程度的问题。懂得ASP/ASP.NET编程 了解ASP/ASP.NET的Session模型 了解ASP.NET Web应用程序模型 了解ASP.NET Web应用程序配置文件Web.config的作用、意义及使用方法 了解Internet Information Services(以下简

2009-02-21 22:46:00 535

原创 VS2003中添加TreeView控件

VS2003的ASP.NET中没有TreeView控件,需要自行安装。http://adandelion.cnblogs.com/articles/235681.html 下载Treeview的安装包http://download.microsoft.com/download/2/9/0/290e3bc2-a238-447f-ad45-98e590b3048b/TreeViewCo

2009-02-08 15:07:00 1288

转载 挣值分析

  挣值管理(Earned Value Management,EVM)   项目的挣值管理是用与进度计划、成本预算和实际成本相联系的三个独立的变量,进行项目绩效测量的一种方法。它比较计划工作量、WBS的实际完成量(挣得)与实际成本花费,以决定成本和进度绩效是否符合原定计划。所以,相对其他方法,它是更适合项目成本管理的测量与评价方法。挣值管理可以在项目某一特定时间点上,从达到范围、时间、成本

2008-08-04 16:46:00 3074 2

转载 根据盘符安全移除U盘

////////////////////// //http://www.codeproject.com/KB/system/RemoveDriveByLetter.aspx //根据盘符停止U盘 //////////////////////// BOOL  CPubFunction::StopDeviceByLetter(LPCTSTR lpDisk)  {  

2008-08-04 10:51:00 3262

原创 设置exe程序在安全模式自启动

1.写成服务形式,在 HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Control//SafeBoot 和   HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Control//SafeBoot//Minimal 下加入相应的子项。设置值为Service    2.在注册表 H

2008-07-29 18:23:00 2357 2

原创 获取字节流编码(UTF8, unicode等)

参阅:《字节流编码获取原来这么复杂,但也很简单》字节流编码获取原来这么复杂http://dev.csdn.net/Develop/article/10/10961.shtmhttp://dev.csdn.net/Develop/article/10/10962.shtm鸣谢: JLCAusing System;namespace Microshaoft.Te

2008-07-29 17:37:00 4435

原创 把程序添加到开始菜单

#define REG_SHELLFODLER _T("Software//Microsoft//Windows//CurrentVersion//Explorer//Shell Folders")void CTestDlg::OnBnClickedButton7(){ // TODO: 在此添加控件通知处理程序代码 CString szLink , szPath;

2008-07-25 10:05:00 5021 1

原创 在程序中移除U盘

#include #include #include #define DWORD_PTR DWORD #define ULONG_PTR DWORD extern "C" { #include "hidsdi.h" }

2008-07-22 17:20:00 5051 2

原创 CTreeCtrl的HitTest用法

void CMyDlg::OnNMClickTree1(NMHDR *pNMHDR, LRESULT *pResult){ // TODO: 在此添加控件通知处理程序代码 CPoint pt; UINT nFlags; ::GetCursorPos(&pt); ::ScreenToClient(m_cTree.m_hWn

2008-07-14 18:50:00 7005 2

原创 detours库的编译

1.5版本编译,用vs2003建一个win32工程,选lib项目。然后把所有的源文件加入进来,编译就可以了。2.1版本编译,同上,但可能出错,fatal error C1189: #error :  Must define one of DETOURS_X86, DETOURS_X64, or DETOURS_IA64                     在引用Detours的头文件之前补

2008-07-09 18:07:00 3099 1

原创 调用树控件的DeleteAllItems的问题

在对话框中使用树控件,调用树控件的DeleteAllItems()后,再调用InsertItem()添加新项目,添加后不能显示新添加的内容。解决方法如下:m_tree.SetRedraw(FALSE); //do erase and insert operationm_tree.SetRedraw(TRUE); m_tree.RedrawWindow();

2008-07-09 18:03:00 974

原创 在服务中启动带有界面的程序

//在服务中启动带有界面的程序。BOOL RunProcess(LPCTSTR lpImage){ if(!lpImage) { return FALSE; } HANDLE hToken; if(!GetTokenByName(hToken,_T("explorer.exe"))) { retur

2008-06-17 18:51:00 1016

原创 CryptoAPI -计算md5

//输入内容的缓冲区 输出内容的缓冲区 输入内容的长度BOOL MD5Digest(PBYTE csBuffer,LPTSTR csOutBuffer,DWORD dwLen){ HCRYPTPROV hCryptProv; HCRYPTHASH hHash; BYTE bHash[0x7f]; DWORD dwHashLen= 32; //

2008-06-12 15:49:00 1371

原创 文件操作记录

方法一。这种方式无法监视到文件的修改,只有右键属性中修改文件的操作才能监视到。注册BOOL Register(HWND hWnd){ SHChangeNotifyEntry pfsne; LPITEMIDLIST pidl; if(NOERROR == SHGetSpecialFolderLocation(hWnd,CSIDL_DE

2008-06-12 14:53:00 4168

原创 枚举控件

HWND CurWindowHandle=::GetTopWindow(NULL); do { TCHAR TitleText[500]; ::GetWindowText(CurWindowHandle,TitleText,500); if(StrStr(TitleText,_T("格式化"))!=NULL) //找到格式化对话

2008-06-11 08:42:00 1376

原创 windbg指令-!drvobj

!drvobj!devobj!podev!devstack"!drvobj Driver Name | PDRIVER_OBJECT pointer" 列出这个驱动创建的所有设备。kd> !drvobj /Driver/i8042prtDriver object (82158040) is for: /Driver/i8042prtDriver Extension List: (id ,

2008-06-06 17:06:00 4185

原创 VMware+windbg 驱动的源码调试

我想要调试的驱动代码在E:/zaza/MyTestProj/drivers/example目录下,编译生成的驱动文件XX.sys和XX.pdb文件在E:/zaza/MyTestProj/drivers/example/objchk_wxp_x86/i386下面。按下面配置好winDBG调试的路径。然后把这个驱动的sys拷到虚拟机里,加载驱动。winDBG里就进入源码了。用F10单步

2008-06-06 14:16:00 2573

原创 字符串格式化

CString strDateTime;strDateTime=CTime::GetCurrentTime().Format( _T( "%Y-%m-%d %H:%M:%S" ) );

2008-06-06 11:00:00 503

原创 控件右键弹出菜单

CPoint point;::GetCursorPos(&point);CMenu menu;menu.LoadMenu(IDR_MENU_LogView);CMenu *pSubMenu=menu.GetSubMenu(0);pSubMenu->TrackPopupMenu(TPM_RIGHTBUTTON, point.x, point.y,this);

2008-06-06 10:34:00 483

原创 TAB控件

void CBasicInfoShowDlg::InitForm(){ //插入两个标签页 this->m_cTab.InsertItem(0,_T("tab1")); this->m_cTab.InsertItem(1,_T("tab2")); CRect rect; this->GetDlgItem(IDC_STATIC_Rect)->GetWindowRe

2008-06-05 17:31:00 790

原创 托盘图标

生成托盘图标在CXXXDlg中定义成员函数NOTIFYICONDATA nid;void CXXXDlg::Hiden(){ nid.cbSize = sizeof(nid); //NIF_MESSAGE表示发送控制消息 //NIF_ICON 表示显示控制栏中的托盘图标 //NIF_TIP 表示任务栏中的托盘图标有动态提示 nid.uFlag

2008-06-05 14:51:00 687

原创 利用VMWare和WinDbg调试驱动程序-配置

1 首先下载WinDbg http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.5.3.8.exe?WinDbg 安装2 打开WinDbg -> File -> Symbol File Path   设置符号文件路径  可以下载服务表安装到系统中,http://msdl.microsoft.com/download/sym

2008-05-27 18:28:00 2140

原创 去掉属性页的帮助按钮

重载CPropertySheet类,在它的OnInitDialog函数中添加 //向导模式下ID_WIZNEXT,ID_WIZFINISH,   ID_WIZBACK,   IDCANCEL     int ids [] = ...{ID_WIZBACK ,ID_WIZNEXT, IDCANCEL};//, ID_APPLY_NOW, IDHELP };  CRect rectBtn,

2008-05-23 15:47:00 1361

原创 驱动入门-1

  子系统(SubSystem)   编译器和链接程序能生成一个OS能够理解的二进制文件。在Windows中,这种格式被称为“PE”。在这种格式中,有一种概念被成为subsystem。一个子系统,连同其他在PE头中的信息,描述了如何装载一个包含入口点的可执行文件。使用VC++IDE创建工程时,编译器和连接器使用默认的预先设定的选项,我们可以创建windows应用程序,或控制台应用程

2008-05-07 17:14:00 1119

转载 缓冲策略

 I/O缓冲策略 很明显的,驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换。这就就设计到设备的I/O缓冲策略。读写请求的I/O缓冲策略 前面说到通过设置Device对象的Flag可以选择控制处理读写请求的I/O缓冲策略。下面对这些缓冲策略分别做一介绍。 1、缓冲I/O(DO_BUFFERED_IO) 在

2008-05-07 16:56:00 919

原创 驱动编译

 从http://www.codeproject.com/KB/system/driverdev.aspx上下载了源码part1和part2,经过修改终于编译通过。Makefile文件(从别的地方拷贝一份过来就可以了)1. example!INCLUDE $(NTMAKEENV)makefile.defSources文件TARGETNAME=exam

2008-05-04 17:50:00 1324

原创 C# 里面的编码问题

  1  .NET中的String只有Unicode一种。所以编码格式的字节序列转换成String时最终都是以Unicode表示。2 System.Text.Encoding.Default是取系统的当前ANSI代码页的编码,即当前系统的编码。(在我们的机子上一般都是"gb2312")这就每次用Default读取文件流都正确,且必须用Default读取才正确的原因----其实用Encodi

2008-04-30 16:31:00 1027

使用VC的Com接口操作IE的例子

使用VC的Com接口操作IE的例子. 说明IWebBrowser2, IHTMLDocument2 and IHTMLElement 等的使用方法。

2009-06-28

PetShop4分析

微软的基于.Net2.0的PetShop4的分析文档,学习三层架构的好东东!

2009-06-28

数据结构及算法经典-源代码.

数据结构及算法经典-源代码.学习下代码还是很不错的。

2009-06-23

ROOTKITS——Windows内核的安全防护(源代码)

ROOTKITS——Windows内核的安全防护这本书配套的代码。

2009-05-23

asp.net项目开发全程实录第6到第10章的源码

asp.net项目开发全程实录 第6章到第10章的代码。

2009-03-01

windows驱动开发技术详解(源码)

windows驱动开发技术详解附带光盘中的源码,很适合初学者哦。

2009-03-01

梅花雪TreeView

用JSscript写的树形控件,还有个CSDN论坛导航树的例子哦

2009-02-08

asp.net1.1的treeview控件

vs.net2003的asp.net不包含TreeView控件,需要自己下载安装.下载后直接安装。然后在VS2003中通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里

2009-02-08

用驱动隐藏文件

SSDT来hook相关函数,实现文件隐藏

2008-07-30

深入解析windows操作系统 第四版 英文版

深入解析windows操作系统 第四版 英文版

2008-06-12

MD5CheckerCn

计算文件和字符串的md5值,支持unicode

2008-06-12

终端用户设备的存储加密技术

Guide to Storage Encryption Technologies <br>for End User Devices

2008-06-02

microsoft windows驱动程序模型设计2nd-随书光盘2

microsoft windows驱动程序模型设计2nd-随书光盘2

2008-05-30

microsoft windows驱动程序模型设计2nd-随书光盘1

microsoft windows驱动程序模型设计2nd-随书光盘1

2008-05-30

深入解析windows操作系统 第四版

深入解析windows操作系统 第四版 英文版

2008-04-30

Windows防火墙与网络封包截获技术源代码

Windows防火墙与网络封包截获技术源代码

2008-04-24

NDIS协议驱动开发

从网上找的。NDIS协议驱动开发的笔记,代码。

2008-04-24

linux设备驱动程序

linux设备驱动程序

2008-04-24

nt文件系统内幕

一次好像不能超过10M,郁闷。分开发。

2008-04-23

nt文件系统内幕

nt文件系统内幕,英文版

2008-04-23

windows文件系统过滤驱动开发教程_v2

windows文件系统过滤驱动开发教程_v2 楚狂人

2008-04-23

汇编程序代码

一些入门级的汇编程序源代码

2008-04-23

source insight 3.5

看源代码的好东东。里面有序列号,可以用。

2008-04-23

mfc调用webservice的客户端

mfc调用webservice的客户端,使用非托管。

2008-04-11

webservice例子

异步调用webservice的一个例子

2008-04-11

空空如也

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

TA关注的人

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