window32api_win32api与硬件设备

window32api_win32api与硬件设备作者:浪子花梦,一个有趣的程序员~.Win32API相关文章如下:Win32利用CreateEvent实现简单的——线程同步Win32消息处理机制与窗口制作Win32远程线程注入.dll文件Win32删除目录下的所有文件——递归遍历(一)Win32服务程序编写——使用SC命令创建与删除(二)Win32服务程序编写——使用命令行参数创建与删除Win32使用快照、psapi.dll、wtsapi32.dll、ntdll.dll四种方式实现——枚举进程(一)..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

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

三连一波 ^ _ ^

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183212.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python安装包代码_linux编译程序

    python安装包代码_linux编译程序python下载Python源码包下载下载python源码压缩包安装详解步骤tarxfPython-3.5.2.tgzcdPython-3.5.2./configure–prefix=/usr/local–enable-sharedmakemakeinstall命令详解Linux下源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(m

    2022年8月23日
  • jetbrains全家桶激活码 淘宝上卖的怎么来的【2021最新】

    (jetbrains全家桶激活码 淘宝上卖的怎么来的)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
  • linux移除包的命令,linux的yum卸载包命令说明

    linux移除包的命令,linux的yum卸载包命令说明Linux中的yum命令可以通过相关命令对包进行安装、卸载或者更新等,下面由学习啦小编为大家整理了Linux的yum卸载包命令说明的相关知识,希望对大家有帮助!linux的yum卸载包命令说明1>使用yumremove卸载包.如下所示:使用’yumremove包名’命令卸载包.Shell代码#yumremovepostgresql.x86_64ResolvingDepen…

    2022年4月28日
  • 蓝牙协议栈初识(ceva蓝牙协议栈)

    在学习的过程中一直有疑问,为什么蓝牙技术突然就产生了呢?蓝牙技术的目的是什么呢?蓝牙技术相对于它所替代的技术存在什么样的优势和劣势呢?蓝牙技术都做了些什么呢?随着我们周围电子产品的增多电子产品之间的信息交互也越来越频繁,但是信息交互方式在无线连接出现之前只能使用有线连接,比如计算机接入键盘,鼠标,主机,扫描仪,打印机,摄像头等等,如果都是用有线连接那就会让你的工作台充满电缆,而且既然是有线的那么…

    2022年4月10日
  • 检测死链的工具[通俗易懂]

    检测死链的工具[通俗易懂]
    XenuLinkSleuth:一种很小很强大的检查网站死链接的工具
    在测试网站的过程中,常常需要检查网站里的所有链接是否正常,如果一个个去点击各个页面来测试,不仅让测试人员感到非常枯燥,也浪费时间。举例来说,如果一个门户网站,首页有100个链接,每个二级页面又有50个链接,那么这样简单一算就是5000次点击,一个测试人员每2秒检查一个页面,要花10000秒,约2.8个小时,还不能100%保证所有的页面都check到位,多少会有点担心:是不是有漏掉的。
    这里借用xenul

    2022年7月23日
  • android之Unable to execute dex: Multiple dex files define「建议收藏」

    出现了异常Dex Loader:Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 查了好多方法都不行,最后得到了解决方法:

    2022年3月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号