随笔分类 - WIN32
摘要:实用场景: 例子1: 例子2: 生产者 消费者 之间 .h .cpp 注意:其他线程使用时注意push,pop需要同步!
阅读全文
摘要:1、GDI对象和核心对象之间最主要的区别在于GDI对象有单一拥有者,不是进程就是线程 2、核心对象可以有一个以上的拥有者,甚至可以跨进程,为了保持对每一位(拥有者)的追踪,核心对象保持了一个引用计数,以记录有多少handles对应到此对象,对象中也记录了哪一个进程或线程是拥有者。 3、当你调用Clo
阅读全文
摘要:1·处理WM_PAINT 最极端的选择是执行一个 WM_PAINT 处理程序,并且自己完成所有的绘制。这意味着,您的代码将需要进行一些与呈现控件相关的琐事 — 创建适当的设备上下文(一个或多个),决定控件的大小和位置,绘制控件等。在绘制过程中,很少需要这种级别的控件。 2·所有者绘制(owner d
阅读全文
摘要:Windows以消息驱动的方式,使得线程能够通过处理消息来响应外界。 Windows 为每个需要接受消息和处理消息的线程建立消息队列(包括发送消息队列,登记消息队列,输入消息队列,响应消息队列),其中发送消息队列保存其他线程通过SendMessage发送给该线程建立窗口的消息,登记消息队列保存通过P
阅读全文
摘要:VS项目中的包含目录、库目录、附加包含目录、附加库目录、附加依赖项均在"项目->属性->配置属性"下进行配置,具体说明如下: VC++目录: 包含目录:寻找#include<xxxx.h>中的xxxx.h的搜索目录 库目录:寻找.lib文件的搜索目录 C/C++: 常规->附加包含目录:寻找#inc
阅读全文
摘要:一、注册表 1.注册表实际上是一个管理配置系统运行参数的核心数据库,它记录了安装软件与运行程序的关联关系,计算机的硬件配置等信息。可以说计算机上所有针对硬件、软件、网络的操作都是源于注册表的。 2.注册表内的所有信息都是存放在 System.dat、User.dat 文件中的,其中 System.d
阅读全文
摘要:一、GDI是图形设备接口简称 二、GDI意义:在于将程序对图形界面的操作和硬件设备隔绝开来,在程序中可以将所有的图形设备都看成是虚拟设备,包括显示器或打印机等,然后通过GDI函数用同样的方法去操作它们,然后由WINDOWS负责将函数调用转化成针对具体硬件的操作。 三、GDI操作引出三个方面 When
阅读全文
摘要:一、进程是程序运行的一个实例,程序可以有多个实例(多个进程) 二、获取进程句柄、进程ID 1.获取当前进程句柄 2.获取进程ID 3.获取进程会话ID 三、进程包含两方面 1.进程内核对象 Ø 一个内核对象,被系统用来管理这个进程,这个内核对象中,还包含了进程的一些策略信息。 2.进程地址空间 Ø
阅读全文
摘要:一、注意区别进程模块句柄和进程内核句柄 二、每个可执行文件或者DLL文件被装入到某个进程地址空间后,都会有一个唯一的实例句柄,来表示装入后的可执行文件或者DLL,此时我们把这个可执行文件或者DLL叫做进程地址空间中的一个模块。 进程模块句柄的本质就是当前模块的起始地址。 三、如何获取进程模块句柄 a
阅读全文
摘要:一、使用CRT函数文件操作 二、使用标准C++库 std::fstream std::string 1)std::string对象内部存储了一个C的字符串,以'\0'结尾的。 2)std::string.c_str() 获取string对象中字符串开始的内存地址,兼容C字符串。 3)std::str
阅读全文
摘要:1.内核对象用句柄来标识 每个内核对象其实就是一块内存块,这个内存块位于操作系统的内核地址空间,因此应用程序不能直接操作内核对象,需要用系统给定的函数来操作,不同的内核对象由不同的函数窗口。 2.内核对象有哪些 Ø 令牌对象token Ø 事件对象Event Ø 文件对象File Ø 文件映射对象M
阅读全文
摘要:一.子窗口控件向父窗口发送消息 a.由于子窗口控件都是系统内部定义的,即消息处理回调函数和窗口类由系统部署 b.子控件产生相对应控件的所属事件时,(系统会处理子控件)并向父窗口发送消息(可能是子控件回调消息处理函数内部处理的,暂不清楚),都是发送的WM_COMMAND消息,之后系统版本又增加了WM_
阅读全文
摘要:Tchar.h 例程 未定义 _UNICODE 和 _MBCS 已定义 _MBCS 已定义 _UNICODE _tprintf printf printf wprintf _tprintf_l _printf_l _printf_l _wprintf_l _tprintf_s printf_s printf_s wprintf_s _tprintf_s_l _printf_s...
阅读全文
摘要:1.由于中文问题,宽字节编译时会遇到一些不显示或显示乱码问题 如下列代码: 分别是WIN API写入和读取文件,测试_tprintf就会不显示 2.解决方案:包含头文件locale.h,并在程序开始调用setlocale(LC_ALL, "chs"); _tprintf_s或者_tprintf便能正
阅读全文
摘要:获取消息字符串。 dwFlags [in] 格式话选项,表明lpSource参数的解释方式。 这个参数可以选取下面的值: Value Meaning FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 函数自动使用LocalAlloc函数,来为lpBuffer分配内存
阅读全文
摘要:错误代码各个位数的意义:GetLastError函数返回值!SetLastError可是设置这个错误代码。 位 31-30 29 28 27-16 15-0 内容 严重性 Micorsoft/ 客户定制 保留 Facility 代码 异常代码 含义 0=成功 1=提示信息 2=警告 3=错误 0=微
阅读全文

浙公网安备 33010602011771号