找回密码
 加入
搜索
查看: 150|回复: 10

[AU3基础] 请问一下,ControlListView为什么在不同的系统中使用会出错?【已解决】

[复制链接]
发表于 2024-2-24 10:47:59 | 显示全部楼层 |阅读模式
本帖最后由 ttmv2019sx 于 2024-2-26 17:09 编辑

ControlListView  这个命令在21H1 WIN10下只有GetItemCount,GetSubItemCount这一些功能可以使用,而GetText无法使用,一但使用会报错,会提示被读取的目标程序无法运行了,但是在1809下,GetText和前二个参数都是可以使用的,有碰到过的高手有知道原因吗,使用的软件是Geek Uninstaller 1.4.7.142,由于这个是可以被ShellExecute('geek64.exe','','','open',@SW_HIDE) 隐藏运行,由系统自带的程序与功能无法隐藏打开,或者是有知道系统自带的程序与功能这个可以隐藏打开否,谢谢客位大老
 楼主| 发表于 2024-2-24 11:21:07 | 显示全部楼层
程序和功能,中测试了一是一样会出错,看来是不是ControlListView  这个真的是无法在WIN10  21H1版本下使用了,只要是GetText参数一律不行,统计是可以的
 楼主| 发表于 2024-2-24 11:55:37 | 显示全部楼层
A版大大,是否知道这个情况的吗
发表于 2024-2-24 12:13:00 | 显示全部楼层
你可以用udf,比如 _GUICtrlListView_GetItemText,便于调试找问题
 楼主| 发表于 2024-2-24 17:42:50 | 显示全部楼层
afan 发表于 2024-2-24 12:13
你可以用udf,比如 _GUICtrlListView_GetItemText,便于调试找问题

用这个命令下自带的帮助中产生的是都可以获得到文本内容的,然后,用这个命令去扫刚刚上面的程序中的文本,不行没有反应,同样是获得控件ID或控件句柄,没有效果,有一些怪,
发表于 2024-2-24 18:06:18 | 显示全部楼层
ttmv2019sx 发表于 2024-2-24 17:42
用这个命令下自带的帮助中产生的是都可以获得到文本内容的,然后,用这个命令去扫刚刚上面的程序中的文本 ...

调试,懂?
 楼主| 发表于 2024-2-24 18:26:07 | 显示全部楼层

我只是每一行命令下觉得有可能会出问题的步骤中加了MSGBOX来得到前面的变量,是不是正常,这指这个的吗,请A说明一下谢谢,
 楼主| 发表于 2024-2-24 18:31:05 | 显示全部楼层
本帖最后由 ttmv2019sx 于 2024-2-24 18:38 编辑

WinActivate('Geek Uninstaller 1.5.2.165','')
$a = WinGetHandle('Geek Uninstaller 1.5.2.165','')
$idListview = ControlGetHandle($a,'','SysListView321')
MsgBox($MB_SYSTEMMODAL, "消息", "" & _GUICtrlListView_GetItemText($idListview, 2))

就是这样,如果上面的相关句柄是改成例子的是可以的,但是改成这个程序就是不行,请A大说一下如果安你说的调试
MsgBox($MB_SYSTEMMODAL, "消息", "" & _GUICtrlListView_GetItemCount($idListview))  此命令就可以统计数量,唯 一上面的文本无法得到

发表于 2024-2-24 18:42:48 | 显示全部楼层
ttmv2019sx 发表于 2024-2-24 18:31
WinActivate('Geek Uninstaller 1.5.2.165','')
$a = WinGetHandle('Geek Uninstaller 1.5.2.165','')
$id ...

将 _GUICtrlListView_GetItemText 复制到你的脚本中并改名,然后就可以在改名的函数中添加各种骚操作及调用,看看是哪个步骤的问题。。。还要看看 #AutoIt3Wrapper_UseX64 = y或n 的影响。
 楼主| 发表于 2024-2-24 18:57:37 | 显示全部楼层
afan 发表于 2024-2-24 18:42
将 _GUICtrlListView_GetItemText 复制到你的脚本中并改名,然后就可以在改名的函数中添加各种骚操作及调 ...

A大,谢了,找到问题了,你提供的#AutoIt3Wrapper_UseX64 = y或n   这个改了N就行了,但是我默认这个是没有添加的,还没有编译,这个难道默认是Y?
发表于 2024-2-24 19:12:24 | 显示全部楼层
ttmv2019sx 发表于 2024-2-24 18:57
A大,谢了,找到问题了,你提供的#AutoIt3Wrapper_UseX64 = y或n   这个改了N就行了,但是我默认这个是没 ...

64位系统没有添加的话默认=y (除非自己修改了Wrapper),如有需求需要自己添加=n。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-2 07:40 , Processed in 0.078645 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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