分类描述:CPP

C++ 标准库中缺少的字符串函数:`starts_with` 和 `ends_with`

C++ 标准模板库的 std::string 很好很强大,但是并没有提供判断一个字符串是否以另一个字符串开始/结束的接口。这里为 std::basic_string<charT> 提供这两个接口。//string_predicate.hpp#include <string>n
2018年09月17日 113次浏览

简单的GDI操作

简单的GDI操作窗口程序的本质 :GUI GDIGDI: Graphics Device Interface,图形设备接口,这是Windows提供的一组用于绘制图像的APIGUI: Graphical User Interface,图形用户界面,是指用户操作软件的界面方式,以区别于字符方式说白了 G
win32 2018年05月29日 113次浏览

消息机制与模拟消息

消息机制与模拟消息消息机制硬件产生事件被操作系统捕获,封装成消息操作系统发送到系统消息队列再由操作系统由系统消息队列发送到 对应的线程内核对象中的线程消息队列线程消息队列处理完毕后,将时间送回操作系统由操作系统调用窗口回调函数 => WindowProc()线程消息队列 处理GetMessag
win32 2018年05月29日 100次浏览

新建一个窗口程序

新建一个窗口程序消息机制创建窗口的几个步骤创建窗口类注册窗口类创建窗口显示窗口构建消息循环创建过程demo : https://github.com/luodaoyi/cpp_code/tree/master/MemoryInjectTool/CreateWindows//1 创建窗口类型模板
win32 2018年05月29日 105次浏览

以文件为后背存储区的内存交换文件

以文件为后背存储区的内存交换文件各种后备存储器的内存映射文件以磁盘中文件系统的具体文件为后备存储的页交换文件(文件映射)以页交换文件("虚拟内存")为后备存储器的页交换文件(共享内存)页交换文件(虚拟内存)通过CreateFileMapping api 创建文件映射内核对象,在内
win32 2018年05月04日 103次浏览

页交换文件与内存映射文件

页交换文件与内存映射文件内存的几种状态和类型私有类型:使用VitualAlloc申请分配/调拨内存后,申请的内存只能被当前进程使用。其他进程无法访问。这就是所谓的私有内存映射类型 -> 页交换文件(虚拟内存)页交换文件补充了我们的物理内存的不足。在内存中长时间不活跃的数据,系统会将内存写入页交
win32 2018年05月04日 109次浏览

事件和线程同步

事件和线程同步函数//创建一个时间对象HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // SD 安全属性 BOOL bManualReset, // reset type 0自
cpp win32 2018年04月19日 102次浏览

线程的创建和控制

线程的创建和控制进程和线程的关系:进程提供资源,线程使用资源完成工作创建线程函数HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD /安全属性 DWORD dwStackSize,
win32 2018年04月12日 94次浏览

句柄表和继承

句柄表和继承句柄代表着备操作的对象句柄的本质(handler)句柄表可以看做一个非常大的结构体数组句柄表的结构索引值: 进程通过索引找到句柄表中对应的选项内核对象地址: 通过地址直接找到对应的内核对象访问掩码: 控制了访问权限标志位: 标志改句柄能否被继承句柄表是如何工作的:每个进程的内核对象,都有
win32 2018年04月10日 105次浏览

ListView控件

ListView控件 实现简单进程管理用到的相关api函数//获取控件句柄HWND GetDlgItem( HWND hDlg,//获得控件所处的窗口的句柄 int nIDDlgItem //控件id);//初始化列表的列 (listview插入新的一列int ListV
win32 2018年04月09日 116次浏览