求助:如何获取指定程序的桌面快捷图标的坐标信息?已解决
本帖最后由 jiaosc 于 2021-5-28 09:03 编辑求助:如何获取指定程序的桌面快捷图标的坐标信息?
Au3获取桌面图标名称与坐标
#include <GuiListView.au3>
Global $hWndManager = WinGetHandle("Program Manager") ;获取桌面句柄
Global $hWndDesktop = ControlGetHandle("Program Manager", "", 1) ;获取桌面列表控件句柄
$iCount = ControlListView($hWndManager, "", $hWndDesktop, "GetItemCount") ;获取桌面列表中的数量(也就是图标的数量)
;测试输出
ConsoleWrite("序号 = " & "图标名称|X坐标|y坐标" & @CRLF)
For $iIndex = 0 To $iCount - 1
$sName = ControlListView($hWndManager, "", $hWndDesktop, "GetText", $iIndex) ;根据图标排列的ID获取图标的名称
$xy = _GUICtrlListView_GetItemPosition($hWndDesktop, $iIndex) ;根据图标排列的ID,获取图标在控件中的座标 返回数组 =x座标 =y座标
;以下的 $sName $xy $xy 三个值就是你要的
ConsoleWrite($iIndex & " = " & $sName & "|" & $xy & "|" & $xy & @CRLF)
Next
ConsoleWrite("---------------结束---------------------" & @CRLF)
上述程序语句中: $sName = ControlListView($hWndManager, "", $hWndDesktop, "GetText", $iIndex) ;根据图标排列的ID获取图标的名称; 这一句程序报错
不知何故?其他均正常。求大师指点。 版本:3.3.15.0
Win10 x64 2楼的代码可用 本帖最后由 jiaosc 于 2021-5-24 08:13 编辑
WIN7环境下语句 $sName = ControlListView($hWndManager, "", $hWndDesktop, "GetText", $iIndex) ;根据图标排列的ID获取图标的名称报错见图。不知如何解决,求助!D:\NezipSun证券分析师(网上股票交易系统4.0版)\交易屏幕截图、202105240807全屏-01.jpg 帮助中有提到,在X64系统中,使用control系列命令最好使用与系统架构相匹配的版本,64位的系统用64位的Autoit,32位的系统用32位的autoit, 这是个人记忆,可能用错,最好去帮助里仔细查看
请问64位的系统用64位的Autoit和32位的系统用32位的autoit这两种版本在什么地方可以下载?
深表感谢!
tubaba 发表于 2021-5-27 10:38谢谢大师的指教,确实如大师所说,就是Autoit的版本问题,换用64位的Autoit后问题已解决。再次深表感谢! jiaosc 发表于 2021-5-28 09:01
谢谢大师的指教,确实如大师所说,就是Autoit的版本问题,换用64位的Autoit后问题已解决。再次深表感谢!
可运行,运行:D:\AutoIt3\autoit3_x64.exe(3.3.14.2),Win7x64
页:
[1]