win7或者vista默认运行程序是在受限制的环境下运行的,以减轻病毒对于系统的破坏.那么我们怎样才能提升一个进程的权限以至让它在 管理员模式下运行.当然CreateProcess函数没有提供这个功能.相反我们需要调用的是ShellExecuteEx函数:   BOOL ShellExecuteEx(LPSHELLEXECUTEINFO pExecInfo); typedef struct _SHELLEXECUTEINFO { DWORD cbSize; ULONG fMask; HWND h…
转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/71405.shtml "C++Windows核心编程读书笔记":   关键词:c++windows 核心 编程 读书笔记   这篇笔记是我在读<windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和windows实际机制可能有出入,但应该是合理的.开头几章由于我…
注:源码为学习<Windows核心编程>的一些尝试,非原创.若能有助于一二访客,幸甚. 1.程序框架 #include "Queue.h" #include <tchar.h> #include <windowsx.h> #include <StrSafe.h> #include <process.h> #include "resource.h" /*****************************…
// 全局变量,用于指示共享的资源是否在使用 BOOL g_fResourceInUse = FALSE; void Func1() { //等待访问资源 while(InterlockedExchange(&g_fResourceInUse, TRUE) == TRUE) Sleep(0); //访问刚占有的资源 //Access the resource. //我们不需要再访问的资源 InterlockedExchange(&g_fResourceInUse, FALSE); } 这是…
今天特别困啊,这是为什么?!!刚刚把第一章看了一下,困到不行,所以写blog清醒一下. 第一章标题是“错误处理”,看了之后吓了一跳,难道第一章就讲这么高大上的东西?!不是不是,我现在的理解是,这章主要还是带我们感受一下以后遇到问题如何知道这个问题的描述. 我们在使用函数后,总会有一个结果:失败也好,成功也好.而这个结果,最终还是要以标识的形式落在地上的,章节内主要讲的是返回LONG/DWORD类型的情况.每个函数最后会返回一个错误代码给调用线程. 想要看返回的是啥,这里提供了一种方法:DWORD…
8.4 关键代码段 关键代码段是指一个小代码段,在代码能够执行前,它必须独占对某些共享资源的访问权.这是让若干行代码能够"以原子操作方式"来使用资源的一种方法.所谓原子操作方式,是指该代码知道没有别的线程要访问该资源.当然,系统仍然能够抑制你的线程的运行,而抢先安排其他线程的运行.不过,在线程退出关键代码段之前,系统将不给想要访问相同资源的其他任何线程进行调度. 下面是个有问题的代码,它显示了不使用关键代码段会发生什么情况: 如果分开来看,这两个线程函数将会产生相同的结果,不过每个函数…
9.4 等待定时器内核对象 等待定时器是在某个时间或按规定的间隔时间发出自己的信号通知的内核对象.它们通常用来在某个时间执行某个操作. 若要创建等待定时器,只需要调用C r e a t e Wa i t a b l e Ti m e r函数: HANDLE CreateWaitableTimer( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, PCTSTR pszName ); p s a和p s z N a m e这两个参数在第3章中做过介绍.当然,…
现在开始学习Python语言的核心部分.首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支持的类型(这对那些有其他高级语言经验的人会有所帮助). 1 Python对象 Python使用对象模型来存储数据,任何类型的值都是一个对象. 所有的Python对像都拥有三个特性:身份,类型,值. 身份:对象的唯一标识,可以用内建函数id()来得到.它与该对象的内存地址相关,程序中极少会用到. 类型…
本章介绍基本的Python语法.编程风格:并简要介绍标识符.变量和关键字,以及变量占用内存的分配和回收:最后给出一个较大的Python样例程序来体验这些特性. 1 语句和语法 1.1 注释 可以在一行的任何位置,以 # 开头,直至行尾都是注释. 1.2 反斜线继续上一行 一行过长的语句,可以用反斜线 \ 分解成几行.\ 必须是该行的最后一个字符(其后不能有空格等其他任何字符). 闭合符号:小括号().中括号[].花括号{}.三引号"""  """…
本章介绍了Python的背景知识,包括什么是Python.Python的起源以及Python的一些关键特性. 1 什么是Python Python是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性. 2 起源 贵铎·范·罗萨姆(Guido van Rossum)于1989年底始创了Python:1991年初,Python发布了第一个公开发行版. 3 特点 3.1 高级 Python是一门强大的.可以进行系统调用的解释型脚本语言:内建有常用的高…