如何用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
相关产品推荐
相关产品推荐

