摘要:
目录 套接字概述相关函数套接字编程(本章节中例子都是用 VS2005 编译调试的)相关文献:Socket模型详解(转)Socket通信中的多进程编程实例套接字概述简介(源于维基)Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统(于1983发布)的一套应用程序接口。然而,由于AT&T的专利保护着UNIX,所以只有在1989年Berkeley大学才能自由地发布自己的操作系统和网络库。Berkeley套接字接口,一个应用程序接口(API),使用一个Internet套接字的概念,使主机间或者一台计算机上的进程间可以通讯。 它可以在很多不同的输入/输出 阅读全文
摘要:
目录 消息钩子定时器(本章节中例子都是用 VS2005 编译调试的)消息钩子[概述][相关函数][编写消息钩子]概述钩子过程操作系统在传递消息时,将我们感兴趣的消息先传递给HOOK过程,在此函数中进行检查,然后在决定是否放行该消息,就好像逃犯在逃亡时可能会经过许多段路段,为了抓住他,警察要在某些地方设置检查站,以便检查过往的车辆和行人,我们可以把车辆和行人看做是消息,检查站就好像是HOOK过程,如果在摸个检查站发现了这个逃犯,就会把他抓起来,这样就相当于阻止了逃犯的逃亡过程,让他无法在继续逃亡下去了,这个道理和钩子过程是一样的,操作系统将我们感兴趣的消息都交给钩子过程,后者实际就是一个函数,在 阅读全文
摘要:
目录 动态链接库概述相关函数动态链接库编程dumpbin工具(本章节中例子都是用 VS2005 编译调试的)动态链接概述说明所谓动态链接,就是把一些经常会共用的代码(静态链接的OBJ程序库)制作成DLL档,当可执行文件调用到DLL档内的函数时,windows操作系统才会把DLL档加载存储器内,DLL档本身的结构就是可执行文件,当程序需求函数才进行链接.通过动态链接方式,存储器浪费的情形将可大幅降低.DLL的文档格式与视窗EXE文档一样——也就是说,等同于32位视窗的可移植执行文档(PE)和16位视窗的New Executable(NE).作为EXE格式,DLL可以包括源代码、数据和资源的多种组 阅读全文
摘要:
目录 注册表概述注册表相关函数详解注册表编程(本章节中例子都是用 VS2005 编译调试的)注册表概述概述注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用.这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等.数据结构注册表由键(或称"项&qu 阅读全文
摘要:
目录线程概述线程内幕线程相关函数详解线程创建线程睡眠(CPU时间片分配方式)线程的优先级线程的终止线程同步(本章节中例子都是用 VS2005 编译调试的)线程概述组成内核对象 操作系统用它来对线程实施管理,内核对象也是系统用来存放线程统计信息的地方,但创建线程时,系统创建一个内核对象,该线程内核对象不是线程本身,而是操作系统用来管理线程的较小数据结构,可以将线程内核对象视为有关于线程的统计信息组成的一个小型数据结构 线程栈 它用于维护线程在执行代码时需要的所有函数参数和局部变量注意线程总是在某个进程环境中创建的,而且会在这个进程内部销毁.系统从进程的地址工具中分配内存,供线程的栈使用,... 阅读全文
摘要:
目录邮槽匿名管道命名管道剪贴板(本章节中例子都是用 VS2005 编译调试的)进程还可以通过套接字进行通信邮槽通信流程:服务器客户端注意:邮槽是基于广播通信体系设计出来的,它采用无连接的不可靠的数据传输邮槽可以实现一对多的单向通信,我们可以利用这个特点编写一个网络会议通知系统,而且实现这一的系统所需要编写的代码非常少.如果读者是项目经理,就可以给你手下每一位员工的机器上安装上这个系统中的邮槽服务器端程序,在你自己的机器上安装油槽的客户端程序,这样,当你想通知员工开会,就可以通过自己安装的邮槽客户端程序.将开会这个消息发送出去,因为机器上都安装了邮槽服务器端的程序,所以他们都能同时收到你发出的会 阅读全文
摘要:
目录进程概述创建进程函数详解进程的创建进程的终止进程总体执行流程进程线程优先级进程通信(本章节中例子都是用 VS2005 编译调试的)进程概述进程定义:通常被定义为一个正在运行的程序实例,是一个程序在其自身的地址空间中的一次执行活动程序相关描述:定义: 计算机指令集合,它以文件的形式存储在磁盘上与进程关系: 一个程序可以对应多个进程windows支持两种类型的应用程序:GUI程序(Graphical User Interface 图形用户界面)和CUI程序(Console User Interface 控制台用户界面).进程组成:内核对象: 内核对象也是用系统用来存放进程的统计信息的地方... 阅读全文
摘要:
目录资源描述表中对话框定义 模态对话框 非模态对话框 MessageBox(本章节中例子都是用 VS2005 编译调试的) 资源描述表中对话框定义 格式: 对话框名 DIALOG[载入特性] X,Y,Width,Height[设置选项] { 对话框控件定义; } 说明: 对话框名称: 标识对话框资源,可为一个字符串也可以为1~65535之间的任何数 DIALOG: 关键字 载入特性: 对话框资源的载入特性选项与菜单资源相同 X,Y,Width,Height: X,Y: 为对话框左上角坐标 Wi... 阅读全文
摘要:
设备坐标空间和映射模式坐标空间定义: 一个坐标空间是一个平面的空间,通过使用两个相互垂直并且长度相等的轴来定位二维对象分类:世界坐标系空间: 应用程序运用世界坐标系空间对图形输出进行旋转、斜切或者反射页面空间: 称为逻辑空间设备空间: 称为逻辑空间物理设备空间: 通常指应用程序窗口的客户区;但是它也包括整个桌面、完整的窗口(包括框架、标题栏和菜单栏)或打印机的一页或绘图仪的一页纸.物理设备的尺寸随显示器、打印机或绘图仪所设置的尺寸而变化如下图所示: 开始空间若应用程序调用了SetWorldTransform函数,那么映射就从应用程序的世界坐标系空间开始若应用程序没有调用了SetWor... 阅读全文
摘要:
目录 GUI作图概述描绘图形位图文本输出设置画刷/画笔/字体MFC 资源句柄的获得与释放(本章节中例子都是用 VS2005 编译调试的)GUI作图概述作图步骤获得设备描述表资源句柄绘图操作释放设备描述表资源句柄流程图如下:获取/释放设备资源描述表获取设备资源描述表: BeginPaint / GetDC释放设备资源描述表: EndPaint / ReleaseDCBeginPaint / GetDC两种方式的区别: BeginPaint GetDC 使用环境 只用于图形刷新时获取设备环境 使用较为广泛操... 阅读全文