C++ 标准库中缺少的字符串函数:`starts_with` 和 `ends_with`2018年9月17日| CPPC++ 标准模板库的 std::string 很好很强大,但是并没有提供判断一个字符串是否以另一个字符串开始/结束的接口。这里为 std::basic_string<charT> 提供这两个接口。 1 2 3 4 5 6 7 8 9 10 11 12……阅读全文
简单的GDI操作2018年5月29日| C-lang CPP win32简单的GDI操作 窗口程序的本质 :GUI GDI GDI: Graphics Device Interface,图形设备接口,这是Windows提供的一组用于绘制图像的API GUI: Graphical User Interf……阅读全文
消息机制与模拟消息2018年5月29日| C-lang CPP win32消息机制与模拟消息 消息机制 硬件产生事件 被操作系统捕获,封装成消息 操作系统发送到系统消息队列 再由操作系统由系统消息队列发送到 对应的线程内核对象……阅读全文
新建一个窗口程序2018年5月29日| C-lang CPP win32新建一个窗口程序 消息机制 创建窗口的几个步骤 创建窗口类 注册窗口类 创建窗口 显示窗口 构建消息循环 创建过程 demo : https://github.com/luodaoyi/cpp_code/tree/master/MemoryInjectTool/CreateWindows //1 创建窗口类型模板 WNDCLASS wndclass = { 0 }; wndclass.lpszClassName = className;……阅读全文
以文件为后背存储区的内存交换文件2018年5月4日| CPP win32以文件为后背存储区的内存交换文件 各种后备存储器的内存映射文件 以磁盘中文件系统的具体文件为后备存储的页交换文件(文件映射) 以页交换文件(&qu…… 阅读全文
页交换文件与内存映射文件2018年5月3日| CPP win32页交换文件与内存映射文件 内存的几种状态和类型 私有类型: 使用VitualAlloc申请分配/调拨内存后,申请的内存只能被当前进程使用。其他进程……阅读全文
事件和线程同步2018年4月19日| CPP win32事件和线程同步 函数 //创建一个时间对象 HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // SD 安全属性 BOOL bManualReset, // reset type 0自动复位(互斥)、1手动复位(通知模式) BOOL bInitialState, // initial state 初始创建时时间是否具……阅读全文
线程的创建和控制2018年4月12日| CPP win32线程的创建和控制 进程和线程的关系:进程提供资源,线程使用资源完成工作 创建线程函数 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD /安全属性 DWORD dwStackSize, // initial stack size //线程栈大小- LPTHREAD_START_ROUTINE lpStartAddress, // thread function……阅读全文
句柄表和继承2018年4月10日| CPP win32句柄表和继承 句柄代表着备操作的对象 句柄的本质(handler) 句柄表可以看做一个非常大的结构体数组 句柄表的结构 索引值: 进程通过索引找到句柄表……阅读全文
ListView控件2018年4月9日| CPP win32ListView控件 实现简单进程管理 用到的相关api函数 //获取控件句柄 HWND GetDlgItem( HWND hDlg,//获得控件所处的窗口的句柄 int nIDDlgItem //控件id ); //初……阅读全文