摘要:
一 Windows 线程 1 Windows线程 Windows进程中可以执行代码的实体,Windows系统可以调度的执行代码,一个进程中 至少有一个或多个线程,每个线程是进程的一个任务分支。 2 线程的特点 2.1 每个线程有一个ID 2.2 每个线程有自己的安全属性 2.3 每个线程有自己的内存栈 3 进程和线程多任务 多进程实现的多任务:由于进程地址空间是属于自己私有,内存和资源不能共享。 多线程实现的多任务:由于线程都是位于同一个进程的地址空间,内存和资源可以共享。 4 线程的执行 线程的执行方式采用轮询方式执行。二 线程的使... 阅读全文
摘要:
一 Windows进程 1 Windows进程 进程一个容器,包含了应用程序实例的各种资源。Windows多任务的操作系统, 因此可以同时执行多个进程 2 Windows进程的一些特点 2.1 进程中包含了执行代码等资源。 2.2 进程都具有私有的地址空间。 2.3 每个进程都有一个ID,标识进程。 2.4 每个进程都有自己的安全属性 2.5 每个进程中至少要包含一个可执行的线程。二 进程的环境 1 环境信息的获取 获取: LPVOID GetEnVironmentStrings(VOID) 返回值是获取到的所有环境信息 ... 阅读全文
摘要:
一 地址空间 1 地址空间 一个程序最大的寻址范围,对于Win32操作系统最大的寻址范围是2的32次方 (0 - 0xFFFFFFFF).这个寻址范围由CPU决定。CPU的寻址范围越大程序难度降低。 2 地址空间的划分 2.1 用户空间 地址范围 0 - 0x7FFFFFFF (2G),运行应用程序代码、数据等。 2.2.1 空指针区(NULL区) 地址范围 0 - 0x0000FFFF 2.2.2 用户区 地址范围 0x00010000 - 0x7FFEFFFF 2.2.3 64K禁入区 ... 阅读全文
摘要:
一 Windows卷(Volumn) 1 卷的获取 GetLogicalDrives 返回一个DWORD值,这个值的每个位代表是否存在相应的卷 GetLogicalDriveStrings 获取一个所有卷的盘符的字符串DWORD GetLogicalDriveStrings( DWORD nBufferLength,//BUFF的大小 LPTSTR lpBuffer //BUFF的指针 ); BUFF存放数据格式:A:\ + 0 + C:\ + 0 ...+0 Wind... 阅读全文
摘要:
一 Windows的库 由于项目的复杂程序或为了提高代码的重用率,所以才引入了库程序 库包含两种: 1 静态库:扩展名为 lib 的文件,是不能被加载的程序,可以理解为目标程序的归档。 2 动态库:扩展名是 dll 的文件,是可以被应用程序加载的程序二 静态库 1 静态库的特点 1.1 目标程序的归档 1.2 静态库的代码会被嵌入到程序当中,程序执行时不需要静态库的存在 2 C语言静态库 2.1 创建静态库 创建Win32静态库项目使用 *.c 文件建立项目 2.2 添加静态库函数 2.3 在程序中将静态库导入 1)项目的 sett... 阅读全文
摘要:
控件的自绘制 1 控件具有 OWNERDRAW样式 BUTTON LISTBOX COMBOBOX 2 WM_MEASUREITEM 计算控件的大小 (UINT) wParam - 控件ID (LPMEASUREITEMSTRUCT)lParam - 控件项的大小 3 WM_DRAWITEM 实现控件的绘制 (UINT) wParam - 控件ID (LPDRAWITEMSTRUCT) - lParam - 控件绘制的信息View Code 1 // WinDlg.cpp : Defines the entry point for the a... 阅读全文
摘要:
一 滚动条 1 滚动条样式 1.1 水平滚动条 SBS_HORZ 1.2 垂直滚动条 SBS_VERT 2 滚动条的使用 2.1 滚动条的创建 窗口类名称 SCROLLBAR 2.2 消息处理 1) 水平滚动条 WM_HSCROLL LOWORD(wParam) - 滚动的标示 HIWORD(wParam) - 当前滑块的位置 lParam - 窗口的句柄 2)垂直滚动条 WM_VSCROLL LOWORD(wParam) - 滚动的标示 HIWORD(wParam)... 阅读全文
摘要:
一 列表框 1 列表框的样式 1.1 单选列表框 默认 1.2 多选列表框 LBS_MULTIPLESEL 2 列表框的使用 2.1 列表框的创建 窗口类名为 LISTBOX,使用 CreateWindow/Ex 2.2 增加选项 LB_ADDSTRING LB_INSERTSTRING 2.3 删除选项 LB_DELETESTRING 删除指定选项 LB_RESETCONTENT 清空所有选项 2.4 选择项的获取和设置 LB_GETCURSEL 获取被选择项 LB_SETCURSE... 阅读全文
摘要:
一 组合框 1 组合框的样式 1.1 简单组合框 CBS_SIMPLE 1.2 下拉式组合框 CBS_DROPDOWN 能输入或者从下拉列表中选择 1.3 下拉列表式组合框 CBS_DROPDOWNLIST 只能从下拉列表中选择 2 组合框的使用 2.1 组合框的创建 窗口类名称是 COMBOBX,使用 CreateWindow 创建,创建时要注意 窗口高度(弹出的列表) 2.2 增加选项 CB_ADDSTRING / CB_INSERTSTRING CB_ADDSTRING : WPARAM 为0不使用 ... 阅读全文
摘要:
一 文本编辑框 1 文本编辑框的样式 1.1 单选文本编辑框 - 默认样式 1.2 多行文本编辑框 - ES_MULTILINE 1.3 密码文本编辑框 - ES_PASSWORD 2 文本编辑框的使用 2.1 创建 - 窗口类名称 EDIT 2.2 Notify 消息 EN_CHANGE 当编辑框内容发生变化时会通知父窗口 2.3 EDIT 窗口消息 EM_SETSEL 选择消息 WPARAM 是起始字符位置, LPARAM 是终止字符位置 窗口消息:WM_COPY,WM_PASET,WM_CUT WM_SETTEXT,W... 阅读全文