找回密码
 加入
搜索
查看: 1586|回复: 5

[AU3基础] 为什么_ArrayDisplay界面有空白行?[已解决]

[复制链接]
发表于 2017-6-4 21:42:04 | 显示全部楼层 |阅读模式
本帖最后由 cashiba 于 2017-6-7 18:38 编辑

#include <WinAPI.au3>
Local $hTop=_WinAPI_EnumWindowsTop()
_ArrayDisplay($hTop, '$hTop')

运行后显示结果如下:

疑问:
_ArrayDisplay界面为什么有大量空白行,为什么是[64][2]而不是[9][2]?

本帖子中包含更多资源

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

×
发表于 2017-6-6 10:03:18 | 显示全部楼层
winapi.au3中。。
Func __WinAPI_EnumWindowsInit()
        ReDim $__g_aWinList_WinAPI[64][2]
        $__g_aWinList_WinAPI[0][0] = 0
        $__g_aWinList_WinAPI[0][1] = 64
EndFunc   ;==>__WinAPI_EnumWindowsInit
被定义为[64][2]

评分

参与人数 1金钱 +19 收起 理由
cashiba + 19

查看全部评分

 楼主| 发表于 2017-6-6 16:58:17 | 显示全部楼层
winapi.au3中。。被定义为[64][2]
yamakawa 发表于 2017-6-6 10:03

难怪会出现不一致的情况呢,
WinAPI_EnumWindowsTop()返回最终结果的时候,为什么不重新redim一下呢,难道保留这些空位是有什么深刻用意吗
发表于 2017-6-6 18:50:31 | 显示全部楼层
本帖最后由 yamakawa 于 2017-6-6 19:10 编辑

回复 3# cashiba

自己改写下WinAPI_EnumWindowsTop()函数不就好了。。返回之前redim一下
            ReDim $__g_aWinList_WinAPI[$__g_aWinList_WinAPI[0][0]][2]
            $__g_aWinList_WinAPI[0][1] = ""
或者直接改写函数怕以后更新麻烦的话,也可以_arraydisplay之前redim,,效果一样
 楼主| 发表于 2017-6-7 18:27:59 | 显示全部楼层
这个倒不是怕麻烦.....
初学AU3的,都是把各种自定义函数奉为经典的,认为是经过千锤百炼各种校验后才会留下来放到教程里去的,用后出现问题,首先考虑的大多是不是自己用法不对吧....
 楼主| 发表于 2017-6-7 18:37:40 | 显示全部楼层
原函数用起来也无大碍,就不多纠结啥空白啦,非常感谢yamakawa,虽然标签上是新手上路,但感觉是资深老A的样子.....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 21:03 , Processed in 0.079936 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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