随笔分类 -  Windows 系统知识

摘要:背景:在写一个应用,需要和系统窗口进行通讯,所以通讯数据要兼容32位和64位系统。故事:以为挺简单的一件事情,直接搜索“VC判断 64位系统”,搜到很多结果,但答案很一致,好像上学时候交的作业: 1 typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); 2 3 LPFN_ISWOW64PROCESS fnIsWow64Process; 4 5 BOOL IsWow64() 6 { 7 BOOL bIsWow64 = FALSE; 8 9 //IsWow64Process is not available o... 阅读全文
posted @ 2014-03-20 21:05 ssp1024 阅读(600) 评论(0) 推荐(0)
摘要:参考:http://www.fmddlmyy.cn/text7.html 用户态和内核态是不同的CPU特权级别,X86用户态为RING3,内核态在RING0。 win32系统可以使用的最大内存空间为4GB,用户态代码可以使用的是0x00000000——0x7FFFFFFF。 从用户态进入核心态最常用方法是将功能码写入EAX中,然后INT 2E,类似DOS中断调用BIOS的功能;这种机制在NT架构中叫做system service。 核心态主要有ntoskrnl.dll 、win32k.sys 两个模块提供system service。ntoskrnl.exe是windows的大脑,其上层是ex 阅读全文
posted @ 2014-03-04 20:14 ssp1024 阅读(2510) 评论(0) 推荐(0)