AHK DllCall 终结者 —— 一键生成 DllCall 代码

简介

DllCall 一直是 AHK 中比较高级而又困难的功能。

高级在于, AHK 除了其自带的命令与函数外,其它几乎所有功能都需要靠调用系统 API 或三方 Dll 来实现,而 DllCall 则提供了调用系统 API 或三方 Dll 的能力。

困难在于,绝大部分人,很难看懂并搞清海量的参数类型。

所以,我写了这个工具,可以自动识别参数类型,并一键生成 DllCall 代码。


用法

非常简单,例如你想调用系统的 MessageBox 函数,只需打开 此函数的 MSDN 页面 ,将 Syntax 中的内容复制到工具中即可自动生成 AHK 代码。


原理与局限

工具会自动解析微软的函数定义,然后与257种已知常用类型进行匹配。

如果没有在常用类型中找到对应项,则会根据类型名、参数名等多种条件进行猜测。

但猜测并不能100%成功。这是因为,微软可能定义了数千种类型,将其一一囊括并与 AHK 类型对应是一件不太现实的事情。

好消息是,我手动测试了40+以上的函数,实际准确率至少在90%,也就是说,参数类型完全填对的占36+。

那几个错误的呢,其实也不算完全错误,只是其中部分参数类型工具实在猜不出来,被标记为了未知,需要人工确定而已。


下载与相关

下载地址:


更新日志

2022.04.18

  • 增强了识别能力
  • 优化了高分屏下的显示
  • 可以生成 Structor 用的类型列表文件

2022.03.31

  • 基于*靠左解析重构代码
  • 修复*靠右解析造成的错误
  • 增加类型到257种

2022.03.25

  • 增加类型到210种
  • 多行语法下进行缩进
  • 对可信度较低的猜测进行警告
  • 改进 Out + Str 类型变量的创建
  • 改进返回值类型的提取
  • 改进错误记录

相关推荐

  • Structor 这是一个可以计算并生成结构体的工具,本工具的界面就是抄的它。
  • Windows Data Types for AHK 这是一个可以查询一些类型信息的工具。我在本工具完成度90%左右时发现的它,所以类型分类我俩是各自独立完成的,因此也可以用这个工具的结果进行相互印证。

最后感谢 @Tebayaki 简单明了的解释清楚了某些类型的问题。

给TA捐赠
共{{data.count}}人
人已捐赠
AHKV1游戏社区推荐

废人养成,使用FindText制作高效的自动拾取

2022-3-20 3:25:19

其他社区推荐

创建自己的全文索引库2022.03.21

2022-3-21 20:24:57

21 条回复 A文章作者 M管理员
  1. yukingzou

    谢谢大神分享,学习

  2. random
    random给您打赏了¥5
  3. jfdfaf

    厉害

  4. user14468

    这个牛逼的很,下载收藏了

  5. rdawnx

    感谢大佬分享,感觉是高级功能的实用工具,无论是实用还是学习,都非常棒!👍

  6. jfdfaf

    666

  7. dbgba
    dbgba给您打赏了¥5
  8. 1河许人
    1河许人给您打赏了¥5
  9. 麻花藤

    哭了,这是我半年前就想拥有的工具。😭

  10. ahker
    ahker给您打赏了¥5
  11. 五分钟

    👍👍👍

  12. 五分钟
    五分钟给您打赏了¥2
  13. MrLiu

    这个厉害

  14. Wilson

    👍已集成

  15. Tebayaki

    非常实用的工具!👍

  16. 布谷布谷
    布谷布谷给您打赏了¥2
  17. Gan

    Like+9999999999999999999999999999999999999

  18. HoneyBadger

    不支持一下,我都不好意思点进来!

  19. HoneyBadger
    蜜獾哥给您打赏了¥2
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索