自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 __cplusplus与extern "C"

Microsoft-Specific Predefined Macros __cplusplus Defined for C++ programs only. 上面的意思是说,如果是C++程序,就使用(即定义__cplusplus); extern "C"{而这句话,是指在下面的函数不使用的C++的名字修饰,而是用C的 使用上面语句大多出现在交叉C编译环境中,其

2013-06-27 10:26:08 1165

转载 Windows的驱动开发模型

在Windows的不同版本上开发的驱动程序“模型”(模型这个词语应该来源于单词“Mode”。在Windows NT上,驱动程序被称为Kernel Driver Mode驱动程序。笔者认为这个Mode是指一种驱动程序的结构和运作的规范),有过不同的名称。比如在Windows 9x上的驱动程序,都叫做VXD,而在Windows NT上的驱动程序被称为KDM驱动程序,Windows 98~2000这个时

2013-06-27 09:59:32 1308

转载 如何在进程间共享数据

1、引言  在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。WIN32 API提供了许多函数使我们能够方便高效的进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换,就如同在WIN16中对本地进程进行读写操作一样。  典型的WIN16两进程可以通过共享内存来进行数据交换:(1)进程A将GlobalAlloc(GMEM_SHARE...)API分配一定长度的内存

2013-06-24 21:26:51 1454

转载 SetTimer的使用问题

SetTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。   SetTimer的函数原型如下:UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc ) ;  其中  hWnd是和timer关联的窗口句

2013-06-24 21:20:42 963

转载 VC 中字符串比较和查找

常用字符串函数    1. 字符串比较函数        //比较两个字符串是否相同        int StrCmp(LPCTSTR lpStr1,LPCTSTR lpStr2);        int StrCmpN(LPCTSTR lpStr1,LPCTSTR lpStr2,int nChar);        int strcmp( const char *str

2013-06-23 18:22:02 7648

转载 VC嵌入断点中断INT3

VC中嵌入断点中断的HelloWorld程序:#include int main(INT argc,char*argv[]){     __asm INT 3; //调用断点中断   cout }汇编中嵌入断点中断的HelloWorld程序这个示例和那个单步中断先待定

2013-06-22 08:56:54 1297

转载 VS2010静态编译

如果使用VS2010编译过的程序,在其它电脑上运行提示缺少“MSVCR100D.dll”,那么把VS2010设置成静态编译就不要用相关的动态链接库了,下面是设置步骤:首先选中工程,点菜单"项目"-->属性-->配置属性-->c/c++-->代码生成-->运行库,把/MD(release)或/MDd(debug)改为/MT或/MTd

2013-06-21 10:35:35 8036 2

转载 Win7最高权限问题

很多Windows7用户都认为administrator账号的权限是最高,很多在user账号下不能运行的软件,在administrator 账号中都可以正常运行。今天我们就来通过一项操作来验证一下administrator账号是否是Windows7的最高权限?  开机以后, 用administrator账号登陆Windows7系统,打开计算机,进入Windows文件夹,随意删除一个文件夹,系统

2013-06-09 19:47:28 1588

转载 OD调试多线程

OD只能单线程调试,也就是每次只能跟一条线程。以前我调试时常常迷迷糊糊就进入新线程,而有时又怎么也进不了。。。最近大概明白了一点点。方法:首先是设置StrongOD,如下图:不要勾选“Skip Some Exceptions”,  还有OD本身里面的异常都不要勾选!很重要!到新建线程里面有个参数是线程函数的指针,如下图所示:首先是在上面那个“003E015C

2013-06-08 21:12:53 10253

转载 汇编指令速查

指令功能AAA调整加AAD调整除AAM调整乘AAS调整减ADC进位加ADD加AND与ARPL调整优先级BOUND检查数组BSF位右扫描BSR位左扫描BSWAP交换字节BT位测试

2013-06-08 19:42:23 1311

转载 WideCharToMultiByte和MultiByteToWideChar函数的用法(ascii转unicode unicode转ascii)

为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和C

2013-06-07 09:36:04 834

转载 API读取写入 ini文件内容的方法函数详解

ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。一、向ini文件中写入信息的函数1. 把信息写入系统的win.ini文件

2013-06-06 14:12:05 861

转载 通过 SHGetSpecialFolderLocation、SHGetPathFromIDList 函数获取常用路径

本例效果图:代码文件:unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Memo1: TMemo;

2013-06-06 11:32:16 1368

转载 关于WriteFile函数的lpNumberOfBytesWritten在Win8开始的不同

今天我写一个程序,把lpNumberOfBytesWritten的指针给错了,隐式给成了NULL,但我是在Win8编译测试的,结果WriteFile通过了,我没察觉到这个错误。而我转到Win7上运行,直接蹦了,百思不解,无奈之下打开OD调,结果发现死在WriteFile这里,仔细一跟,我艹。。。原来是这样的,lpNumberOfBytesWritten参数大家都不能设置为NULL或一个无效的指

2013-06-02 22:03:17 1002

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