You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的pywin32获取桌面图标的坐标位置?

获取桌面图标坐标失败的问题

我一直尝试获取桌面图标的X、Y坐标,但试过的所有方案都无法得到类似“图标:{名称} (X,Y)”的预期结果。

我试过的代码

我尝试了以下代码,但它似乎只能获取文件属性,无法得到X、Y坐标相关信息:

import win32com.client

shell = win32com.client.Dispatch("Shell.Application")
desktop_folder = shell.NameSpace(0)
desktop_items = shell.NameSpace(0).Items()

# Loop through all desktop icons and perform some action
for i in range(desktop_items.Count): 
    item = desktop_items.Item(i)
    
    recieved = desktop_folder.GetDetailsOf(item, SOME_INDEX) # E.g. 0 gives the Name of the file

我还尝试修改这段代码以实现LVM_GETITEMPOSITION(我认为这是获取坐标所需的接口),但由于我对win32接口的了解不足,始终无法成功,得到的结果全是0。

最后我也查阅了其他相关文章,但它们大多是其他编程语言实现的(我不知道如何转换),或者内容无效,没有找到有用的信息。

我查阅过的相关文章

  • 《How to move desktop icons with python?》(可以运行,但不知道如何将字节串转换为坐标)
  • 《How to move desktop icons using winapi on C?》(仅能移动图标,无法获取位置)
  • 《How to get the windows desktop icons position in python?》(跳转至无用内容)
  • 《LVM_GETITEMPOSITION》(无已采纳答案)

还有更多文章就不一一列举了

内容的提问来源于stack exchange,提问作者AboveAphid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:13:21