请问一下,ControlListView为什么在不同的系统中使用会出错?【已解决】
本帖最后由 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) 隐藏运行,由系统自带的程序与功能无法隐藏打开,或者是有知道系统自带的程序与功能这个可以隐藏打开否,谢谢客位大老
程序和功能,中测试了一是一样会出错,看来是不是ControlListView这个真的是无法在WIN1021H1版本下使用了,只要是GetText参数一律不行,统计是可以的 A版大大,是否知道这个情况的吗 你可以用udf,比如 _GUICtrlListView_GetItemText,便于调试找问题
afan 发表于 2024-2-24 12:13
你可以用udf,比如 _GUICtrlListView_GetItemText,便于调试找问题
用这个命令下自带的帮助中产生的是都可以获得到文本内容的,然后,用这个命令去扫刚刚上面的程序中的文本,不行没有反应,同样是获得控件ID或控件句柄,没有效果,有一些怪, ttmv2019sx 发表于 2024-2-24 17:42
用这个命令下自带的帮助中产生的是都可以获得到文本内容的,然后,用这个命令去扫刚刚上面的程序中的文本 ...
调试,懂? afan 发表于 2024-2-24 18:06
调试,懂?
我只是每一行命令下觉得有可能会出问题的步骤中加了MSGBOX来得到前面的变量,是不是正常,这指这个的吗,请A说明一下谢谢, 本帖最后由 ttmv2019sx 于 2024-2-24 18:38 编辑
afan 发表于 2024-2-24 18:06
调试,懂?
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))此命令就可以统计数量,唯 一上面的文本无法得到
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 的影响。 afan 发表于 2024-2-24 18:42
将 _GUICtrlListView_GetItemText 复制到你的脚本中并改名,然后就可以在改名的函数中添加各种骚操作及调 ...
A大,谢了,找到问题了,你提供的#AutoIt3Wrapper_UseX64 = y或n 这个改了N就行了,但是我默认这个是没有添加的,还没有编译,这个难道默认是Y? ttmv2019sx 发表于 2024-2-24 18:57
A大,谢了,找到问题了,你提供的#AutoIt3Wrapper_UseX64 = y或n 这个改了N就行了,但是我默认这个是没 ...
64位系统没有添加的话默认=y (除非自己修改了Wrapper),如有需求需要自己添加=n。
页:
[1]