各种常用的 Win32Api 汇总(持续更新中. . .)

本文深入探讨Win32API的精要,涵盖线程与进程管理、GUI与GDI绘图、窗口与消息处理、注册表操作、内存管理、文件系统交互等核心功能。从创建与控制线程到绘制复杂图形,从处理窗口消息到操作注册表,全面解析Win32API的使用技巧。
摘要由CSDN通过智能技术生成

在这里插入图片描述
作者:浪子花梦一个有趣的程序员 ~
.

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			// 增加、修改、删除某一个环境变量

三连一波 ^ _ ^

作为Microsoft 32位平台的应用程序编程接口, Win32 API是从事Windows应用程序开发所必备的。 首先对Win32 API函数做完整的概述;然后收录五大类函数: 窗口管理、图形设备接口、系统服务、国际特性以及网络服务; 在附录部分,讲解如何在Visual Basic和Delphi对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。 控件与消息函数 共91个函数 硬件与系统函数 共98个函数 设备场景函数 共73个函数 绘图函数 共105个函数 位图、图标和光栅运算函数 共39个函数 菜单函数 共37个函数 文本和字体函数 共41个函数 打印函数 共66个函数 文件处理函数 共118个函数 进程和线程函数 共40个函数 Windows消息函数 共11个函数 网络函数 共14个函数 目 录 第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 …………………………………………………………………………1 1.3 综述………………………………………………………………………………………11 第二章 窗口管理函数(Windows Control Function) ……………………………………13 2.1 易用特性函数(Accessibility Features)…………………………………………13 2.2 按钮函数(Button)……………………………………………………………………20 2.3 插入标记(^)函数(Caret)…………………………………………………………21 2.4 组合框函数(Combo box) ……………………………………………………………24 2.5 通用对话框函数(Common Dialog Box) ……………………………………………25 2.6 标函数(Cursor)………………………………………………………………………36 2.7 对话框函数(Dialog Box)……………………………………………………………40 2.8 编辑控制函数(Edit Control)………………………………………………………54 2.9 图标函数(Icon)………………………………………………………………………54 2.10 键盘加速器函数(Keyboard Accelerator)……………………………………… 61 2.11 键盘输入函数(Keyboard InPut) …………………………………………………63 2.12 列表框函数(List box) ……………………………………………………………75 2.13 菜单函数(Menu) ……………………………………………………………………76 2.14 消息和消息队列函数(Message and Message Queue)……………………………90 2.15 鼠标输入函数(Mouse Input) ……………………………………………………100 2.16 多文档接口函数(Multiple Document Interface) ……………………………103 2.17 资源函数(Resource)………………………………………………………………105 2.18 滚动条函数(Scroll Bar)…………………………………………………………113 2.19 窗口函数(Window)…………………………………………………………………119 2.20 窗口类函数(Window Class)………………………………………………………144 2.21 窗口过程函数(Window Procedure)………………………………………………150 2.22 窗口属性函数(Window Property) ………………………………………………152 第三章 图形设备接口函数(Graphic Device Interface Function) …………………155 3.1 位图函数(Bitmap) …………………………………………………………………155 3.2 笔刷函数(Brush)……………………………………………………………………171 3.3 剪切函数(Clipping) ………………………………………………………………176 3.4 颜色函数(Color)……………………………………………………………………179 3.5 坐标空间与变换函数(Coordinate Space Transformation)……………………186 3.6 设备环境函数(Device Context) …………………………………………………195 3.7 填充形态函数(Filled shape) ……………………………………………………211 3.8 字体和正文函数(Font and Text)…………………………………………………215 3.9 ICM 2.0函数 …………………………………………………………………………238 3.10 线段和曲线函数(Line and Curve)………………………………………………295 3.11 图元文件函数(Metafile)…………………………………………………………300 3.12 多显示器函数(Multiple Display Monitors) …………………………………311 3.13 绘图函数和画图函数(Painting and Drawing)…………………………………313 3.14 路径函数(Path)……………………………………………………………………328 3.15 画笔函数(Pen) ……………………………………………………………………332 3.16 打印及打印假脱机程序函数(Printing and Print Spooler)…………………334 3.17 矩形函数(Rectangle) ……………………………………………………………371 3.18 区域函数(Region)…………………………………………………………………374 第四章 系统服务函数(System Service Function) ……………………………………383 4.1 访问控制函数(Access Control) …………………………………………………383 4.2 原子函数(Atom) ……………………………………………………………………406 4.3 客户/服务器访问控制函数(Client/Server Access Control) ………………409 4.4 剪贴板函数(Clipboard)……………………………………………………………431 4.5 通信函数(Communication)…………………………………………………………436 4.6 控制台函数(Console)………………………………………………………………444 4.7 数据解压库函数(Data Decompression Library) ………………………………463 4.8 调试函数(Debugging)………………………………………………………………466 4.9 设备输入输出函数(Device Input and Output)…………………………………472 4.10 动态数据交换函数(Dynamic Data Exchange) …………………………………474 4.11 动态数据交换管理函数(Dynamic Data Exchange Management)………………476 4.12 动态链接库函数(Dynamic-Link Library)………………………………………489 4.13 错误函数(Error) …………………………………………………………………496 4.14 事件日志函数(Event Logging) …………………………………………………499 4.15 文件函数(File)……………………………………………………………………503 4.16 文件安装库函数(File Installation Library) ………………………………542 4.17 文件映射函数(File Mapping)……………………………………………………546 4.18 文件系统函数 File System)………………………………………………………551 4.19 句柄和对象函数(Handle and Object)………………………………………………556 4.20 挂钩函数(Hook)………………………………………………………………………560 4.21 ImageHlp函数…………………………………………………………………………572 4.22 大整数操作函数(Iarge Integer Operations)……………………………………594 4.23 低层访问控制函数(Low-Level Access Control)………………………………596 4.24 LSAPI函数 …………………………………………………………………………617 4.25 邮槽函数(Mailslot)………………………………………………………………622 4.26 内存管理函数(Memory Management) ……………………………………………623 4.27 管道函数(Pipe) …………………………………………………………………655 4.28 电源管理函数(Power Management) …………………………………………… 663 4.29 进程和线程函数(Process and Thread)…………………………………………666 4.30 注册表函数(Registry)……………………………………………………………700 4.31 字符串操作函数(String Manipulation)……………………………………… 724 4.32 结构化异常处理函数(Structured Exception Handling) ……………………742 4.33 同步函数(Synchronization) ……………………………………………………745 4.34 系统信息函数(System Information)……………………………………………766 4.35 系统消息函数(System Message)…………………………………………………780 4.36 系统关机函数(System Shutdown) ………………………………………………781 4.37 磁带备份函数(Tape Backup) ……………………………………………………783 4.38 时间函数(Time)……………………………………………………………………789 4.39 计时器函数(Timer) ………………………………………………………………795 4.40 工具帮助函数(Tool Help) ………………………………………………………796 4.41 窗口站和桌面函数(Window Station and Desktop)……………………………799 4.42 Windows NT 4.0访问控制函数(Window NT 4.0 Access-Control)……………808 4.43 WinTrust函数(WinTrust)…………………………………………………………814 第五章 国际特性函数(International Peatures Punction)时性…………………………815 5.1 输入方法编辑函数(Input Method Editor)…………………………………………815 5.2 国家语言支持函数(National Language Support)………………………………… 828 5.3 Unicode和字符集函数(Unicode and Character Set)……………………………… 843 第六章 网络服务函数(Networding Service Function)……………………………………849 6.1 数据链路控制函数(DLC)………………………………………………………………849 6.2 网络函数(Net)…………………………………………………………………………849 6.3 NetBIOS函数……………………………………………………………………………896 6.4 网络DDE函数(Networking DDE)……………………………………………………897 6.5 RAS服务器管理函数(RAS Server Administration)………………………………901 6.6 远程访问服务函数(Remote Access Administration)………………………………910 6.7 服务函数(Service)……………………………………………………………………929 6.8 Windows网络函数(Windows Networking)……………………………………………930 附录1 如何在VB调用DLL API ……………………………………………………………945 1 DLL API的声明……………………………………………………………………………945 2 DLL API的调用……………………………………………………………………………947 附录2 在Delphi直接调用Windows API…………………………………………………953
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值