Structor —— 轻松获取结构体大小、偏移、常量值的工具

简介

Structor —— 轻松获取结构体大小、偏移、常量值的工具Structor —— 轻松获取结构体大小、偏移、常量值的工具

本工具提取自 Adventure IDE – 3.0.4 ,作者 alguimistf

为实现工具便携性与使用傻瓜化,我修改了部分代码,并集成了最新的 MSVC2022 编译器及 WIN10 SDK 。

简单说就是,现在你只需要下载解压就可以使用了。


功能1:创建结构体并从中读取内容。

当我们想在 ahk 中使用一个结构体,例如 URL_COMPONENTS 时。

  1. 首先在 MSDN 也就是微软官网找到 URL_COMPONENTS 的页面
  2. 复制结构体到工具中。

    Structor —— 轻松获取结构体大小、偏移、常量值的工具

  3. 根据页面最下方的提示在工具中添加对应的头文件(页面无提示则可以不添加)。

    Structor —— 轻松获取结构体大小、偏移、常量值的工具

  4. 点击 Compile 按钮,等待结果出现再点击 Copy 按钮。

Structor —— 轻松获取结构体大小、偏移、常量值的工具

此时剪贴板中就得到了可以让你像变量一样使用该结构体的代码了。


功能2:获取数据类型的大小。

例如我们想知道, DWORD 类型在32位下的大小时。

Structor —— 轻松获取结构体大小、偏移、常量值的工具

需要注意, DWORD 之类的内容是大小写敏感的。


功能3:获取成员的偏移量。

例如我们想知道,结构体 URL_COMPONENTS 的成员 nPort 在64位下的偏移量时。

Structor —— 轻松获取结构体大小、偏移、常量值的工具

需要注意,本例中的结构体 URL_COMPONENTS 需要头文件 winhttp.h ,所以在 Includes 中要自己加上。

同样的, URL_COMPONENTS.nPort 之类的内容是大小写敏感的。


功能4:获取常量值。

例如我们想知道,常量 LVM_GETHEADER 在32位下的具体值时。

Structor —— 轻松获取结构体大小、偏移、常量值的工具

需要注意,本例中的 LVM_GETHEADER 需要头文件 commctrl.h ,所以在 Includes 中要自己加上。

同样的, LVM_GETHEADER 之类的内容是大小写敏感的。


功能5:批量模式

例如我们想知道,DWORD WORD HANDLE 3种类型的大小时。

新建一个文本文档,每行写一种类型,像这样。

WORD
DWORD
HANDLE

Structor —— 轻松获取结构体大小、偏移、常量值的工具

同理,也可以批量获取成员偏移量和常量值。


更新日志

2022.04.18

  • 修复了原版数个 BUG 。
  • 打包了编译器和 SDK 。
  • 增强了类型识别功能。
  • 实现了工具便携性。
  • 版本号 1.2.1 。

下载地址

完整版工具下载地址:Github

或社区QQ群中的 群文件——工具 目录下。

 

给TA捐赠
共{{data.count}}人
人已捐赠
其他教程

AHK调用opencv(五)保存视频

2022-2-16 14:40:14

其他教程

AHK调用opencv(六)绘图功能

2022-2-16 21:19:58

3 条回复 A文章作者 M管理员
  1. AHK中文社区
    1河许人给您打赏了¥2
  2. ahkjoo

    太好用了,一键复制,真乃神器!

  3. ahkjoo
    ahkjoo给您打赏了¥2
个人中心
购物车
优惠劵
有新私信 私信列表
搜索