标题:获取桌面图标名称,坐标,并移动。哪位大哥给个思路。
取消只看楼主
df2884111
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-1-15
结帖率:100%
已结贴  问题点数:20 回复次数:3 
获取桌面图标名称,坐标,并移动。哪位大哥给个思路。
图标名称是不是很难获取的,坐标跟移动基本能实现。就是不能指定图标,桌面就乱了。图标号不精准。
搜索更多相关主题的帖子: 获取 名称 移动 坐标 图标 
2022-02-07 01:07
df2884111
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-1-15
得分:0 
留个QQ103167938方便联系。
2022-02-07 01:55
df2884111
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-1-15
得分:0 
有图标名称,例:用代码获取桌面:"360浏览器"图标当前坐标值及对应的图标序号,因为有序号我才能控制该图标坐标,获取当前坐标是判断坐标是否位置不对,
               网上找到部分代码测试
    '获得桌面句柄。
    hdesk = FindWindow("progman", vbNullString)
    hdesk = FindWindowEx(hdesk, 0, "shelldll_defview", vbNullString)
    hdesk = FindWindowEx(hdesk, 0, "syslistview32", vbNullString)
    '查找桌面图标数目。
    icount = SendMessageByLong(hdesk, LVM_GETTITEMCOUNT, 0, 0&)
    For i = 0 To icount - 1
        '显示图标。
        Call SendMessageByLong(hdesk, LVM_GETITEMPOSITION, i, pFileMap)
        '返回坐标。
        CopyMemoryTwo Curpos, pFileMap, 8
        IconPosition(i) = Curpos
        IconPosition2(i) = Curpos
        objItem.mask = LVIF_TEXT
        objItem.iSubItem = 0
        objItem.pszText = pFileMap2
        objItem.cchTextMax = 40
         CopyMemoryOne pFileMap, objItem, 40
         lngLength = SendMessageByLong(hdesk, LVM_GETITEMTEXT, i, pFileMap)
         CopyMemoryTwo savebuf, pFileMap2, 40
        '取得图标名称。
        If lngLength > 40 Then lngLength = 40
        strName = Left$(savebuf.x, lngLength)
        IconName(i) = strName
End Sub
经测试获取名称、坐标返回失败,可能我的是WIN10系统,但可控制序号图标坐标。
总结:控制图标可以,难在获取当前桌面图标名称对应的序号及坐标,求控制目标,获取当前桌面图标实时对应数据。
2022-02-11 16:58
df2884111
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-1-15
得分:0 
指定图标是给坐标指定还是名称指定?

指定当前桌面图标 求序号和坐标
2022-02-11 17:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508288-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.131019 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved