Win32API 相关文章如下:
Win32利用CreateEvent 实现简单的 —— 线程同步
Win32消息处理机制与窗口制作
Win32远程线程注入 .dll 文件
Win32删除目录下的所有文件 —— 递归遍历
(一)Win32服务程序编写 —— 使用SC命令创建与删除
(二)Win32服务程序编写 —— 使用命令行参数创建与删除
Win32使用快照、psapi.dll、wtsapi32.dll、ntdll.dll 四种方式实现 —— 枚举进程
(一)Win32进程通信 —— 自定义消息实现
(二)Win32进程通信 —— 内存映射文件
(三)Win32进程通信 —— 数据复制消息
(四)Win32进程通信 —— 剪贴板的使用
(五)Win32进程通信 —— 匿名管道
(六)Win32进程通信 —— 邮槽的使用
常用的 Api汇总如下所示:
线程与进程
ZeroMmory // 初始内存
CreateProcess // 创建进程
GetWindowThreadProcessId // 获取进程id
OpenProcess // 打开进程
WriteProcessMemory // 写进程中的数据
getlasterror // 获取错误信息
CloseHandle // 关闭句柄指向的内核对象计数器 - 1 为0时,内核对象消失
SuspendThread(pi.hThread); // 挂起线程 暂停
ResumeThread(pi.hThread); // 重新启动线程
termilateprocess // 终止进程
GetModuleFileName // 获取模块路径
GetCurrentDirectory // 获取工作路径
GetCurrentProcessId // 获取当前进程id
GetCurrentProcess // 获取当前进程句柄(伪句柄)
GetCommandLine // 获取命令行
GetStartupInfo // 获取启动信息
EnumProcesses // 遍历进程id
CreateToolhelp32Snapshot // 快照
CreateThread // 创建线程
WaitForSingleObject // 等待单个对象
WaitForMultipleObjects // 等待多个对象
GetExitCodeThread // 获取线程返回值 判断是否成功执行线程
GetThreadContext // 获取线程上下文 寄存器原理
SetThreadContext // 设置线程上下文
EnterCriticalSection // 进入临界区
LeaveCriticalSection // 离开临界区
CreateMutex // 创建互斥体 通过 WaitforSingleObject 获取互斥体 // 访问临界资源 内核资源 令牌
RealseMutex // 释放互斥体
CreateEvent // 创建事件 通知类型
SetEvent // 设置事件有信号
ResetEvent // 设置事件无信号
GUI GDI
CreatePen // 创建画笔对象
SelectObject // 关联对象
MoveToEx // 线起始位置
LineTo // 线终止位置
GetStockObject // 获取画刷
SetDCBrushColor // 设置画刷颜色
Rectangle // 画矩形
ReleaseDC // 释放 HDC
DeleteObject // 删除对象
CreateFont // 创建字体对象
TextOut // 写字
OutputDebugString // 输出调式字符串
BeginPaint // 开始绘画
EndPaint // 结束绘画
// 按钮类控件
BM_SETCHECK BM_GETCHECK // 按钮消息
SetWindowText GetWindowText // 设置 获取窗口名称
ShowWindow IsWindowVisible // 判断窗口可见 设置窗口可见
EnableWindow IsWinodwEnable // 判断窗口可用 设置窗口可用
// 组合按钮切换图形颜色
GetClientRect // 获取窗口4个顶点
CreateSolidBrush // 创建画刷颜色
InvaliddataRect // 窗口失效 配合UpdateWindow使用
// 文本相关API
SetTextAlign // 设置文本对齐方式
TextOut // 输出文本
TabbedTextOut // 可以输出Tab键的文本
ExtTextOut // 文本(背景色、剪裁、间距)
// 类似word中设置文本
DrawText // 在矩形中画出文本内容(多种对齐方式)适用于大量文本
DrawTextDx // 扩展了边距操作
// 文本的设备环境属性
SetTextColor // 设置文本颜色
SetBkColor // 设置背景颜色
SetBkMode // 设置背景模式
SetTextCharacterExtra // 字符间距
// 选择字体
ChooseFont // 选择字体对话框 (结构大小、逻辑字体、标志屏幕字体、字体类型屏幕)
CreateFontIndirect // 返回字体句柄(参数为逻辑字体)
CreateFont // 创建字体
EnumFrontFamilies // 枚举字体
// 画线
MoveToEx // 改变画笔位置
LineTo // 线的终点
Polyline // 多条边
Arc // 画弧线 (后两个参数在矩形版面)
PolyBezier // 贝塞尔曲线(花里胡哨)
// 画图
Rectangle // 画矩形
RoundRect // 圆角矩形
Ellipse // 椭圆
Chord // 弦形
Pie // 饼形
Polygon // 多边形
PolyPolygon // 多个多边形
SetPolyFillMode // 设置多边边内部填充模式
// 矩形的各种骚操作
RECT // 矩形顶点的结构点
FillRect // 填充矩形
FrameRect // 填充框架
InvertRect // 翻转矩形的颜色
SetRect // 设置RECT的值
OffsetRect // 偏移矩形
InflateRect // 矩形变大/变小
SetRectEmpty // 设置矩形的值为空
IsRectEmpty // 判断矩形是否为空
IntersectRect // 两个矩形的交集
UnionRect // 两个矩形的并集
PtlnRect // 判断点是否在矩形中
Winodw
GetClassName // 获取窗口类名
SendMessage // 发送消息
FindWindow // 查找窗口
EnumWindows // 枚举所有窗口
GetVersionEx // 获取系统版本
GetSystemInfo // 获取硬件信息
GetSystemDirectory // 获取系统目录
GetWindowsDirectory // 获取Windows 安装目录
GetUserName // 获取用户名
GetComputerName // 获取计算机名
SystemParametersInfo // 外设信息
GetLocalTime // 获取本地时间
SetLocalTime // 设置本地时间
GetTickCount // 获取开机到现在的时间(毫秒)
GetTickCount64 // 64位
// 注册表
RegCreateKey RegCreateKeyEx // 创建新项
RegOpenKey RegOpenKeyEx // 打开一个项
RegQueryValue RegQueryValueEx // 访问项的值
RegDeleteKey RegDeleteKeyEx // 删除一个项
RegCloseKey // 关闭句柄
Memory
VirtualAlloc // 开辟私有内存 (进程独有的内存空间) Private
VirtualFree // 私有内存释放
CreateFileMapping // 开辟物理页 不与虚拟内存链接
MapViewOfFile // 链接
UnMapViewOfFile // 关闭文件资源
FlushMapViewOfFile // 刷新缓冲区
OpenFileMapping // 打开一个共享
// 真正的开辟内存只有这两个函数,molloc new 在分配好的内存上 再分配 假分配
Heap Memory
HeapCreate // 预定内存,返回一个句柄
HeapAlloc // 分配内存
HeapFree // 释放内存
文件系统
一、卷相关API
GetLogicalDrives // 获取逻辑驱动器 获取卷
GetLogicalDriveStrings // 获取所有盘符的字符串
GetDriveType // 获取驱动器的类型
GetVolumeInformation // 获取驱动器的信息
二、目录相关 API
CreateDirectory // 创建目录
RemoveDirectory // 删除目录
MoveFile // 修改目录名称
SetCurrentDirectory // 设置当前目录所在位置
GetCurrentDirectory // 获取当前目录名称
三、文件相关 API
CreateFile // 创建一个文件
GetFileSize // 获取文件大小
GetFileAttributesEx // 获取文件属性
FileTimeToSystem // 文件时间 系统时间
SetFilePointer // 文件索引位置
ReadFile // 读取文件
WriteFile // 写入文件
CopyFile // 拷贝文件
DeleteFile // 删除文件
FindFirstFile // 搜索第一个文件
FindNextFile // 搜索下一个文件
FindClose // 关闭查找句柄
静态库与动态库的使用
环境变量
GetEnvironmentStrings // 获取系统中的所有环境变量
GetEnvironmentVarlable // 获取某一个环境变量
SetEnvironmentVarlable // 增加、修改、删除某一个环境变量
三连一波 ^ _ ^