windows
文章平均质量分 73
strollerV
hoho
展开
-
windows核心编程--线程
进程是由两个部分构成的,一个是进程内核对象,另一个是地址空间。同样,线程也是由两个部分组成的:• 一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。 • 另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量进 程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。如果在单进程原创 2007-01-18 15:30:00 · 739 阅读 · 0 评论 -
3个脱壳相关的重要函数介绍
脱壳相关的重要函数介绍【QduWg】翻译声明:本人翻译此类文章,原来是为了自己阅读方便,想到其他人可能也需要,不过E文可能比较难理解,故本人贴出来供各位菜鸟学习吧。错误之处请指出。祝学习进步!^_*1.GetModuleHandle函数如果文件已经被映射进了调用进程的地址空间,则此函数返回指定模块的句柄,HMODULE GetModuleHandle(LPCTSTR lpModuleName转载 2007-07-10 21:38:00 · 895 阅读 · 0 评论 -
#pragma的用法
#pragma 预处理指令详解 在所有的预处理指令中, #Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方 法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma原创 2007-07-10 21:35:00 · 836 阅读 · 0 评论 -
什么是ADO?
什么是ADO?转自http://blog.hjenglish.com/wcdj/articles/492035.htmlADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(A转载 2007-07-10 21:25:00 · 1795 阅读 · 0 评论 -
VC显示双缓冲
当应用程序中使用多次GDI调用绘制到窗口中时,在窗口清除并被重新绘制时,会出现明显的闪烁。使用双缓冲技术可轻松消除闪烁。步骤如下:1、假设当前显示设备上下文为CDC * pDC;2、使用CDC对象创建可兼容设备上下文, CDC memdc; memdc.CreateCompatibleDC(pDC);3、使用CBitmap对象创建可兼容为图, CBitmap bmp;转载 2007-07-10 21:28:00 · 1260 阅读 · 0 评论 -
在Windows实现C++锁的读写
// 一个Windows下C++读写锁的代码,实现共享读,独占写class ReadWriteLock{public: int m_currentLevel; int m_readCount; HANDLE m_unlockEvent; HANDLE m_accessMutex; CRITICAL_SECTION m_csStateChange;pub转载 2007-07-13 16:14:00 · 1374 阅读 · 0 评论 -
Win32环境下两种用于C++的线程同步类
线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。 Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不同的是,互斥量、信号量、事件都是Windows的内核对象,当 程序对这些对象进行控制时会自动转换到核心态,而临界区本身不是内核对象,它是工作在用户态的。我们知道从用户态转换到核心态转载 2007-07-11 14:08:00 · 900 阅读 · 0 评论 -
Window 消息大全使用详解
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:typeTMsg = p转载 2007-07-10 21:29:00 · 719 阅读 · 0 评论 -
windows核心编程--线程高级
暂停和恢复线程的运行在 线程内核对象的内部有一个值,用于指明线程的暂停计数。当调用C r e a t e P r o c e s s或C r e a t e T h r e a d函数时,就创建了线程的内核对象,并且它的暂停计数被初始化为1。当线程的暂停计数是0的时候,除非线程正在等待其他某种事情的发生,否则该线程就处于 可调度状态。恢复线程,可以用将调用R e s u m e T h r e a原创 2007-01-18 15:43:00 · 770 阅读 · 0 评论 -
windows核心编程--进程
进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: • 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。 • 另一个是地址空间,它包含所有可执行模块或 D L L 模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。 进程是不活泼的。若要使进程完成某项操作,它必须拥有一个在它的环境中运行的线程,该线程负责执行原创 2007-01-18 15:27:00 · 724 阅读 · 0 评论 -
windows消息机制
windows消息机制 一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“消息队列”,即应用程序队列,用来存放该程序可能 创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。 二 Windows为当前执行的每个Windows程序维护一个「消息队列」。在发生输入事件之后原创 2007-01-18 15:46:00 · 1913 阅读 · 1 评论 -
如何实现类的成员函数创建线程
class CMySocket {public: DWORD WINAPI WorkThread(LPVOID CompletetionPortID); ...};有如上类,在类中某函数想以函数(WorkThread)CreateThread(NULL, 0, WorkThread, ¶m, 0, &ThreadID))编译会报错:cannot convert paramete转载 2007-12-29 10:04:00 · 958 阅读 · 1 评论