找回密码
 加入
搜索
查看: 34590|回复: 106

[原创] Au3常量询捕 2.1

[复制链接]
发表于 2019-8-15 01:42:44 | 显示全部楼层 |阅读模式
本帖最后由 afan 于 2022-5-14 14:43 编辑

200724 更新 2.1 版
        [修正]因SciTE标题格式有异而未能自动补库的问题


刚写完的,趁热~~
再也不会为写 UDF 或者其它需要查值的时候伤脑筋了…
复制需要查值的常量,点击粘贴查询即可
程序会自动计算终值并显示表达式、值等结果,均可单击复制
点击所在文件还可定位到记事本中查看可能有的相关解释
窗口任意空白处点击鼠标右键可清空输入
为SciTE增加常量补库功能:在SciTE编辑器运行时出现某常量未声明提示时,点击一下即可复制找到的库文件

首次运行会采集数据于AutoIt3安装目录 \Include\所有 *Constants* 文件,创建 AConstants.dat 数据库文件,简单粗暴~
如果你没有安装Au3,那就没必要用了~
随便拿了几个常量,大家可以测试下

$UHID_All
$BFFM_SETSTATUSTEXTA
$CDN_FIRST
$PD_USEDEVMODECOPIESANDCOLLATE
$SND_ALIAS_SYSTEMASTERISK
$SFGAO_CAPABILITYMASK
$BCM_GETIDEALSIZE
$CBN_ERRSPACE
$CBEM_GETCOMBOCONTROL
$TOKENPRIMARY
$SIDTYPEUNKNOWN
$tagNMCOMBOBOXEX
$tagTEXTMETRIC



更新历史:

200724 更新 2.1 版
        [修正]因SciTE标题格式有异而未能自动补库的问题

190827 更新 2.0.5 版
        [修正]监听剪贴板可能会中断,需要重新勾选才正常的问题
           原因是有些程序退出时没有按规则通知从剪贴板查看器链中删除(比如某些迅雷版本)

190821 更新 2.0 版 (未发布)
        [新增]SciTE补库增加函数库功能
           应对SciTE函数未定义的错误提示
           包含“Include”默认库目录及“用户Include”目录的所有函数库文件
           补库时就算库文件文件名含中文,待补库的au3文件编码为系统内码ANSI或UTF格式时均不会乱码
        [修改]去除补库时的非库内常量名/函数名的提示,实际意义不大
        [新增]在SciTE中选择了常量,懒得复制,点“捕获查询”可直接查询
        [修改]程序中文名正式命名为“常量询捕”

190820 更新 1.9 版 (未发布)
        [新增]设置自动保存,以便下次打开直接应用习惯设置及窗口位置
        [修改]弹出匹配的常量菜单增加“切换值进制”菜单
           菜单上的值在未切换前尽量使用原始的赋值形式,而非界面指定的16/10进制值
           点击该菜单可临时切换当前值的16/10进制值,仅当次有效
           如需一直使用某进制在界面操作即可

190818 更新 1.8 版 (未发布)
        [新增]智能 SciTE 常量剪贴板,大大方便修改代码
           当处于监听剪贴板模式时,如监听到剪贴板为匹配的常量,会在当前光标位置显示菜单:
           菜单1:关闭        (看看就好,关闭菜单,返回SciTE)
           菜单2,当前常量的计算值        (点击该菜单则自动粘贴该值)
           菜单3,值 与 当前常量名=值(点击该菜单则自动粘贴该值,并在行末粘贴注释 ;常量名=值)
           勾选“菜单”复选框即可使用以上功能

190818 更新 1.7 版 (未发布)
        [新增]监听剪贴板,让实时查询更简单,不需要来回切换
        [新增]菜单添加查看更新历史,相当于程序说明

190818 更新 1.6 版 (未发布)
        [新增]程序启动时即自动访问剪贴板和检测SciTE是否有常量出错提示
           一般情况下有困难才会找JC,基本上打开这个程序就是遇到问题了
           这样可以让你少走一步,想你所想
           1,剪贴板如有匹配的常量名会自动显示
           2,SciTE有常量出错提示则自动检索并做出智能处理:
           如有匹配且符合直接上屏的条件(1.3版有说明)则自动完成SciTE修改并气泡提示
           有一项不符合则不处理,需自行点击“SciTE常量补库”操作

190817 更新 1.5版 (未发布)
        [新增]重建数据库功能
           如有修改某常量库文件,则需要重建刷新一次数据库
        [新增]常量查重功能
           为避免使用多个常量库时出现常量重复的错误,所有的常量库应该不允许有重复的常量名
           但常量又分布在不同的文件内,难免有重复的现象,以前的Au3就经常出现这种问题
           而使用 If Not IsDeclared Then Assign 着实是一种无奈的方法,使用SciTE也经常会报错
           之后较新的版本进行了重整,此问题应已解决
           此功能就是对当前所有常量库文件进行检测,以防漏网,消除隐患

190817 更新 1.4版 (未发布)
        [修改]更快的计算方式,直接对表达式计算出结果
           虽然之前也不慢,150毫秒左右,现在基本不到10毫秒
           按住Ctrl键单击结果值仍使用之前的方法计算

190816 发布 1.3版
        [新增]使用SciTE补库功能时,可直接修改到SciTE窗口
           在获取到库文件时,除了可复制到剪贴板外,也可以直接修改到SciTE窗口
           在修改时会识别当前SciTE的任务窗口,如已切换发生改变会提醒切回
           除此之外就算SciTE窗口处于后台或最小化时均不会影响程序操作
           修改过程不会影响任何的代码折叠及标记

190816 发布 1.2版
        [修改]微调使用SciTE补库时功能
           描述用词修改(有时多余了复制到剪贴板的提示)
           增加检索完成耗时提示
           增加了小图标以突出其含义
        [新增]关闭到托盘复选框
           勾选后点击关闭将不再退出,在托盘保留,单击托盘(或右键菜单)还原

190815 发布 1.1版
        [新增]为SciTE增加常量补库功能
           在SciTE编辑器运行时出现某常量未声明提示时,点击一下即可复制找到的库文件
           至于想粘贴到哪自己干,不想干预书写脚本习惯

190815 发布 1.0版
        [修正]在结果值为字符串时切换“16进制”复选框会使结果成0x0
        [新增]可以直接复制“#include <XXXXX>”
        [新增]按住Ctrl键单击结果值可对结果值进行再次计算
           如果结果值是含&连接符或者包含变量连接的字符串,可以整合成整体字符串
           而对于是16进制值的则会进行左减零处理(左边多个0减为一个0)
        [修改]数据库保存到AutoIt3安装目录,因为版本间的差异Constants数量也可能不同
           对应当前的版本更有实际意义
           (建议使用较新版本,太老的版本很多常量并没有分开到Constants文件,比如3.3.6.1只有不到40个,而3.3.14.2有近70个)
        [修改]其它细微修改,如界内任意按住拖移窗口等

190814 初发布 0.9版





动画演示~






游客,如果您要查看本帖隐藏内容请回复




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 5金钱 +170 贡献 +25 收起 理由
floor6ggg + 20 很给力!
xz00311 + 10
gzh888666 + 80 + 20 赞一个!
redapple2008 + 10 + 5 集合一下,好东西来一个了。
cashiba + 50 很给力!

查看全部评分

 楼主| 发表于 2019-8-15 20:57:20 | 显示全部楼层
gzh888666 发表于 2019-8-15 17:51
我记得论坛里有一个可以根据调试错误自动添加“#include ”的工具,版本太老,现在不能用了,A版有新的吗?

因为大家使用的 SciTE 及其环境很有可能不同,因此本次追加的功能不一定对其他人有效,我只在自己电脑测试过,如有问题,可以反馈。

以下是一段会出错的代码例子,执行出错后运行本工具下方的 附: SciTE常量补库 试试~
Opt('GUIOnEventMode', 1)
Global $hGuiMain, $id_1, $id_2

#Region :: START AuGUIDesigner ::
Dim $hGuiMain = GUICreate('新建设计窗口', 400, 426, -1, -1, $WS_SIZEBOX + $WS_SYSMENU)
GUISetOnEvent($GUI_EVENT_CLOSE, '_GuiClose')
Dim $id_1 = GUICtrlCreateButton('1-Button', 116, 83, 116, 36, $BS_CENTER + $BS_DEFPUSHBUTTON)
Dim $id_2 = GUICtrlCreateLabel('2-Label', 126, 144, 104, 42, $SS_CENTER + $SS_CENTERIMAGE)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUISetState()
#EndRegion :: END AuGUIDesigner ::
While 1
        Sleep(1000)
WEnd
Func _GuiClose()
        Exit
EndFunc   ;==>_GuiClose
发表于 2019-8-15 07:35:45 | 显示全部楼层
支持一下,呵呵
发表于 2019-8-15 08:07:57 | 显示全部楼层
太赞了,经常去百度半天
发表于 2019-8-15 09:11:29 | 显示全部楼层
正是我这样新手需要的,赞一个!
发表于 2019-8-15 09:18:35 | 显示全部楼层
下载保存,辛苦了。
发表于 2019-8-15 09:54:46 | 显示全部楼层
赶紧收藏了,下载试试
发表于 2019-8-15 10:12:43 | 显示全部楼层
A版出品,必属精品!
发表于 2019-8-15 11:21:30 | 显示全部楼层
A版出品,定要收藏。支持一下
发表于 2019-8-15 11:22:59 | 显示全部楼层
楼主的程序我的电脑一直无法打,nod32直接删除。能不能不要加壳?
 楼主| 发表于 2019-8-15 11:25:26 | 显示全部楼层
redapple2008 发表于 2019-8-15 11:22
楼主的程序我的电脑一直无法打,nod32直接删除。能不能不要加壳?

不加壳对你有用吗?一会发个1.0版你试试吧
发表于 2019-8-15 11:29:47 | 显示全部楼层
afan 发表于 2019-8-15 11:25
不加壳对你有用吗?一会发个1.0版你试试吧

不知道,nod32一打开就不见程序。我用mpress加壳好像不查杀。
 楼主| 发表于 2019-8-15 11:57:36 | 显示全部楼层
redapple2008 发表于 2019-8-15 11:29
不知道,nod32一打开就不见程序。我用mpress加壳好像不查杀。

已更新1.0版,你试试
发表于 2019-8-15 13:14:19 | 显示全部楼层
afan 发表于 2019-8-15 11:57
已更新1.0版,你试试

还是不见了,nod32看来对au3不认可,我加mpress可以用
 楼主| 发表于 2019-8-15 13:29:35 | 显示全部楼层
redapple2008 发表于 2019-8-15 13:14
还是不见了,nod32看来对au3不认可,我加mpress可以用

那就算了,杀软从来就对au3不友好,商道即奸道
发表于 2019-8-15 17:51:50 | 显示全部楼层
我记得论坛里有一个可以根据调试错误自动添加“#include <XXXXX>”的工具,版本太老,现在不能用了,A版有新的吗?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-28 22:21 , Processed in 0.083335 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表