windows 基础
文章平均质量分 72
怕什么真理无穷
怕什么真理无穷,进一寸有一寸的欢喜——胡适!
展开
-
windows 虚拟内存
使用了分页机制之后,4G的地址空间被分成了固定大小的页,每一页或者被映射到物理内存,或者被映射到硬盘上的交换文件中,或者没有映射任何东西。程序访问虚拟内存地址,操作系统判断数据是否在内存中,如果在就从虚拟地址映射到的物理地址,如果不在就判断是否在页交换文件当中,如果在就查看物理内存是否有闲置空间,有的话,就将页交换文件载入到物理内存,如果没有闲置内存,就从物理内存中找到一个可以释放的页,然后将页保存到页交换文件中。std::cout << "字符串常量修改前:" << str << std::endl;原创 2024-04-18 18:02:47 · 610 阅读 · 0 评论 -
WaitForMultipleObjects 用法
//创建初始状态为无信号,触发后自动复位的事件 data_event_array[One] = CreateEvent(NULL, FALSE, FALSE, NULL);原创 2024-04-09 14:48:39 · 707 阅读 · 0 评论 -
windows 线程同步的四种方式总结
信号灯有一个初始值,表示有多少进程/线程可以进入,当信号灯的值大于 0 时为有信号状态,小于等于 0 时为无信号状态,所以可以利用 WaitForSingleObject 进行等待,当 WaitForSingleObject 等待成功后信号灯的值会被减少 1,直到释放时信号灯会被增加 1。这两种事件对象的区别在于当人工重置的事件对象得到通知时,等待该事件对象的所有线程均变为可调度线程;而当一个自动重置的事件对象得到通知时,等待该事件对象的线程中只有一个线程变为可调度线程。因为我们使用了事件对象。原创 2024-04-09 11:33:27 · 1055 阅读 · 0 评论 -
HDC 的使用
画图方法:1.获取设备环境 HDC hdc; hdc=BeginPaint(HWND,LPPAINTSTRUCT);//开始画图(获取设备环境)----------EndPaint(HWND,LPPAINTSTRUCT);//结束画图 hdc=GetDC(HWND);//开始画图(获取设备环境-功能更强)-------------ReleaseDC(HWND);//结束画图2.设置画笔 HPEN hPen;//定义画笔的句柄 hPen=(HPEN)GetStockObject(n...原创 2022-01-29 11:05:13 · 1242 阅读 · 0 评论 -
基类虚函数
在程序中加override 关键字,可以避免派生类中忘记重写虚函数的错误:下面以重写虚函数时,容易犯的四个错误为例,详细阐述之: class Base { }在派生类中,重写 (override) 继承自基类成员函数的实现 (implementation) 时,要满足如下条件:一虚:基类中,成员函数声明为虚拟的 (virtual)。二容:基类和派生类中,成员函数的返回类型和...原创 2021-12-11 17:07:13 · 922 阅读 · 0 评论 -
windows VS log 日志输出到一个文件
log.h 如下:#pragma once #define WRITE_LOG_ENABLE //启用日志打印#include <string> #include <stdio.h>using std::string;using std::wstring;extern const char* g_pLogPath;string GetTime();int myLog(const char* pSourcePath, const char* ...原创 2021-12-09 17:19:07 · 872 阅读 · 0 评论 -
GetStockObject
GetStockObject是一个WindowsAPI函数,该函数检索预定义的备用笔、刷子、字体或者调色板的句柄,函数原型是HGDIOBJ GetStockObject(int)。函数功能该函数检索预定义的备用笔、刷子、字体或者调色板的句柄。函数原型HGDIOBJ GetStockObject(int fnObject);主要参数fnObject:指定对象的类型,该参数可...原创 2021-12-09 10:25:41 · 449 阅读 · 0 评论 -
【无标题】
HWND CreateWindowEx( DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam).原创 2021-12-09 09:48:18 · 88 阅读 · 0 评论 -
RECT函数
RECT:rect这个对象是用来存储成对出现的参数,比如,一个矩形框的左上角坐标、宽度和高度,RECT结构通常用于Windows编程。RECT类:class Rect: 构造函数 描述 Rect::Rect() 创建一个矩形对象,矩形左上角的横坐标、纵坐标以及矩形的宽度、高度均为零。这是默认的构造函数 Rect::Rect(point&,size&a...原创 2021-12-09 09:12:58 · 3884 阅读 · 0 评论 -
BitBlt
BitBlt是一个计算机函数,该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。BitBlt(ps.hdc, 0, 0, logical_area.x, logical_area.y, dc_mem, 0, 0, SRCCOPY);hDestDC:指向目标设备环境的句柄。x:指定目标矩形区域左上角的X轴逻辑坐标。y:指定目标矩形区域左上角的Y轴逻辑...原创 2021-12-08 14:47:53 · 301 阅读 · 0 评论 -
StretchDIBits
该函数将DIB中矩形区域内像素使用的颜色数据拷贝到指定的目标矩形中。如果目标矩形比源矩形大小要大,那么函数对颜色数据的行和列进行拉伸,以与目标矩形匹配。如果目标矩形大小要比源矩形小,那么该函数通过使用指定的光栅操作对行列进行压缩。 函数原型:int StretchDIBits(HDC hdc, int XDest , int YDest , int nDestWidth, int nDestHeight, int XSrc, int YSrc, int ...原创 2021-12-08 14:31:11 · 160 阅读 · 0 评论 -
SetViewportExtEx
SetViewportExtEx:SetViewportExtEx,该函数用指定的值来设置指定设备环境坐标的X轴、Y轴范围。函数功能 :该函数用指定的值来设置指定设备环境坐标的X轴、Y轴范围。函数原型 :BOOL SetViewportExtEx(HDC hdc, int nXExtent, int nYExtent, LPSIZE lpSize);参数:hdc:指向设备描述表的句柄。...原创 2021-12-08 11:17:09 · 158 阅读 · 0 评论 -
SetWindowExtEx
SetWindowExtEx,Windows函数名称。该函数的作用是以指定的值为设备环境设置窗口的水平的和垂直的范围。 函数原型:BOOL SetWindowExtEx( __in HDC hdc, __in int nXExtent, __in int nYExtent, __out LPSIZE lpSize); 参数:HDC设备环境句柄。nXExtent以逻辑单位给出的窗口的水平范围nYExtent以逻辑单...原创 2021-12-08 11:12:02 · 193 阅读 · 0 评论 -
SetSTretchBltMode
函数功能描述:该函数设置指定设备环境的映射方式,映射方式定义了将逻辑单位转换为设备单位的度量单位,并定义了设备的X、Y轴的方向。函数原型: int SetMapMode(HDC hdc, int fnMapMode);语法结构及要求virtual int SetMapMode(int nMapMode);nMapMode指定新映射的模式。它可以是以下任一值:...原创 2021-12-08 11:04:34 · 333 阅读 · 0 评论 -
SetSTretchBltMode
SetSTretchBltMode:Windows GDI函数,功能为该函数可以设置指定设备环境中的位图拉伸模式。函数原型:int SetStretchBltMode(HDC hdc, int iStretchMode);hdc:设备环境句柄。iStretchMode:指定拉伸模式。它可以取下列值,这些值的含义如下:BLACKONWHITE:使用消除和现在的像素颜色值进行逻辑AND(与)...原创 2021-12-08 10:42:53 · 206 阅读 · 0 评论 -
CreateSolidBrush
CreateSolidBrush,函数,该函数创建一个具有指定颜色的逻辑刷子。函数功能:初始化一个指定颜色的画刷。画笔可以随后被选为任何设备上下文的当前刷子。 返回值:如果该函数执行成功,那么返回值标识一个逻辑实心刷子;如果函数失败,那么返回值为NULL。当你看到Windows显示的按钮时,背景颜色是灰色的。当你看到缺省的窗口背景时,它是白色的。当你的老板需要你创建一个黑色背景的按钮时,你会怎...原创 2021-12-08 10:33:24 · 698 阅读 · 0 评论 -
CreateCompatibleDC
该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。通过GetDc()获取的HDC直接与相关设备沟通,而本函数创建的DC,则是与内存中的一个表面相关联。函数原型:参数:hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境。返回值:如果成功,则返回内存设备上下...原创 2021-12-08 10:08:18 · 112 阅读 · 0 评论 -
TranslateMessage函数
TranslateMessage(&msg);函数原型:BOOL TranslateMessage( CONST MSG*lpMsg);IpMsg:指向含有消息的MSG结构的指针,该结构里含有用函数GetMessage或PeekMessage从调用线程的消息队列里取得的消息信息。函数功能:该函数将虚拟键消息转换为字符消息。字符消息被寄送到调用线程的消息队列里,当下一次线程调用函数GetMessage或PeekMessage时被读出。...原创 2021-12-07 17:24:51 · 172 阅读 · 0 评论 -
windows SendMessage API
首先 我们了解一下Windows的消息机制。Windows是一个消息驱动式系统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进行通信的手段。举个例子,打开记事本程序,该程序有一个 “文件“菜单。 那么,在运行该程序的时候,如果用户单击“文件菜单“里的“新建“命令, 这个动作将被Windows所捕捉,Windows经过分析得知这个动作应该由我们打开的记事本程序所来处理。然后Windows就发送个消息,譬如我们编程的时候有时用到的 WM_CO...原创 2021-12-07 11:48:06 · 1425 阅读 · 0 评论