![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows编程
文章平均质量分 63
fisher_jiang
这个作者很懒,什么都没留下…
展开
-
PE文件格式详解(上)
作者:MSDN译者:李马 (http://home.nuc.edu.cn/~titilima) 摘要 Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。转载 2006-04-26 19:15:00 · 1633 阅读 · 0 评论 -
解决Error: ‘nmake’ 不是内部或外部命令,也不是可运行的程序或批处理文件。”
When you get this error … something got really broken. I do not know the reason how I got this error – but actually an installation of some development tools are the reason for this ….Microsof原创 2012-03-29 04:07:05 · 26490 阅读 · 0 评论 -
用cpuid指令获取cpu信息
用cpuid指令获取cpu信息http://blog.163.com/madengyao_super/blog/static/285982202008625105632730/ 最近在写一个获取系统信息的Delphi组件,想得倒Cpu的id时,碰到了麻烦。上网查了好多资料,下了好多代码,结果还是没有解决问题,关于取Cpu的Id 众说纷纭,而且我试了好多,好像在几台机器上读到转载 2009-07-14 17:22:00 · 10706 阅读 · 1 评论 -
Undocumented MessageBoxTimeOut function
From: http://www.delphi3000.com/articles/article_4808.asp There are lots of neat little things that are in many of the DLLs that Microsoft has installed in Windows. Most of them are documented i转载 2009-07-02 21:26:00 · 1265 阅读 · 0 评论 -
特权级1——RPL、DPL、CPL
保护模式中最重要的一个思想就是通过分级把代码隔离了起来,不同的代码在不同的级别,使大多数情况下都只和同级代码发生关系。Intel的80286以上的cpu可以识別4个特权级(或特权层) ,0级到3级。数值越大特权越小。一般用把系统内核放在0级,系统的其他服务程序位于1、2级,3级则是应用软件。一般情况下代码都在自己的级别下做自己的工作,同一级别之间可以相互访问,而一般是不允许不同级别的代码间随意访问原创 2009-06-12 15:58:00 · 2492 阅读 · 1 评论 -
Windows的Large Page和Small Page
一个页是系统分配存储空间的最小单位。在windows xp系统中,一个普通页的大小为4k。当机器的内存在256mb以上时,可以启用Large Page模式。一个Large Page大小为4M。 There is not a page table for large pages because the phys frames are contained in the page directo原创 2009-06-12 16:21:00 · 3692 阅读 · 0 评论 -
win32平台下malloc的内部实现
win32平台下malloc的内部实现 by flyingkisser 2007.09.10 如果您不想看那一堆确实比较XX的汇编代码,我直接给您一个结论吧: 1.malloc是如何实现的? malloc(Size)最终调用的是HeapAlloc(msvcrt!_crtheap,0,dwSize) 2.msvcrt.dll使用到的堆是如何初始化的? msvcrt的dll入口函数初始化时,调用Hea转载 2009-06-02 11:24:00 · 5269 阅读 · 0 评论 -
Windows XP下的向量异常处理
Windows XP下的向量异常处理 作者:Hume/冷雨飘心·发布日期:2002-8-9·原作名称: Vectored Exception Handling原作: Matt Pietrek翻译改写: hume/冷雨飘心 首先回顾一下(SEH)结构化异常处理,结构化异常处理用EXCEPTION_RETGISTRATION结构链起来的异常处转载 2009-05-30 19:44:00 · 1157 阅读 · 0 评论 -
Win32 系统线程信息块(TIB)浅析
原文出处:May 1996 Under The Hood Windows 操作系统各个版本之间虽然核心部分差异很大,但它们都共享一个关键的系统数据结构,许多程序员都没有加以关注。更精确地说,这种共享是针对此数据结构的某些域。先不说差别,这个结构被广泛使用,甚至是被编译器产生的代码存取。没错,你的C++编译器产生代码直接存取系统级的信息。 到底是什么结构呢?这个结构至少有两个不同的名字转载 2009-05-25 12:51:00 · 1510 阅读 · 0 评论 -
自己读取进程空间数据
这里只是简单的实现下读取进程空间的数据...写操做也是一样的....比较简单... 这样你就可以在内核读用户空间了....哈哈 大家都知道在用户态我们常用 kernel32.dll中的ReadProcessMemory来读取进程...这个函数只是简单地对传入的参数进行处理然后调用了 ntdll.dll中的NtReadVirtualMemory/ZwReadVirtualMe转载 2009-05-22 16:19:00 · 5361 阅读 · 1 评论 -
__declspec(dllimport)
我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类。但是,MSDN文档里面,对于__declspec(dllimport)的说明让人感觉有点奇怪,先来看看MSDN转载 2009-05-22 16:17:00 · 924 阅读 · 0 评论 -
浅议windows内存管理
这里仅是对windows内存的简单介绍,适合编写windows应用程序的人阅读,主要参考《windows核心编程》及《深入解析windows操作系统》第四版。对windows内存管理的内部机制,将在以后加以介绍。首先,用户用到的内存都是虚拟内存,windows内存管理器负责将虚拟地址转译成物理内存。对于32位机器,虚拟地址空间就是4G大小,用4个byte就可以覆盖,因此,32位机的指针大小就是4个转载 2009-05-22 11:21:00 · 2083 阅读 · 0 评论 -
进程线程同步互斥的控制机制
现在流行的进程线程同步互斥的控制机制,其实是由最原始最基本的4种方法实现的。由这4种方法组合优化就有了.Net和Java下灵活多变的,编程简便的线程进程控制手段。 1临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2互斥量:为协调共同对一个共享资源的单独访问而设计的。 3信号量:为控制一个具有有限数量用户资源而设计。 4事 件转载 2008-06-12 10:26:00 · 1159 阅读 · 0 评论 -
VC控件的Group属性
在一个页面有多个相同的控件时,比如有多个相同的radio button,可以用一个组来实现,在第一个控件属性中选中group,给这组控件设置一个相关联的成员变量。那么第一个radio控件的值将会是0,接着会是1,2,3…,它会直到下一个标有group的相同控件为止。这样可以更方便的进行程序设计。原创 2006-05-30 08:52:00 · 4285 阅读 · 0 评论 -
VxD技术
Windows9x平台反病毒产品大多属静态反病毒软件,指导思想是"以杀为主",这一方式的缺点是病毒在被清除之前可能早已造成了严重危害一个好的反病毒软件应该是"以防为主,以杀为辅",在病毒入侵时就把它清除掉,这就是实时反病毒技术。 Windows9x使用IntelCPU的Ring0和Ring3两个保护级。系统进程运行于Ring0,因而具有转载 2006-05-02 20:29:00 · 2270 阅读 · 0 评论 -
LPCTSTR运算符
转载自CSDNCString类功能强大,比STL的string类有过之无不及.新手使用CString时,都会被它强大的功能所吸引.然而由于对它内部机制的不了解,新手在将CString向C的字符数组转换时容易出现很多问题.因为CString已经重载了LPCTSTR运算符,所以CString类向constchar *转换时没有什么麻烦,如下所示:char a[100];CString str(转载 2006-05-02 20:46:00 · 2301 阅读 · 0 评论 -
PE文件格式详解(下)
作者:MSDN译者:李马 (http://home.nuc.edu.cn/~titilima)预定义段 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的段。这种做法与MS-DOS转载 2006-04-26 19:19:00 · 1414 阅读 · 2 评论 -
Some IoControlCodes for AFD (Ancillary Function Driver for WinSock)
#define AFD_RECV 0x12017#define AFD_BIND 0x12003#define AFD_CONNECT 0x12007#define AFD_SET_CONTEXT 0x12047#define AFD_RECV 0x12017#define AFD_SEND 0x1201f#define AFD_SELECT 0x12024原创 2012-08-25 02:33:22 · 19353 阅读 · 0 评论