python获取桌面图标的坐标

想要实现桌面图标的移动,但是不知道如何找到每个桌面图标的对应的坐标,有人知道用python怎么获取吗?

我也不会,但是我帮你问了GPT:

  1. 导入win32api、win32con、win32gui模块。
  2. 获取桌面窗口的句柄。
  3. 枚举桌面窗口的子窗口,找到“Program Manager”窗口。
  4. 枚举“Program Manager”窗口的子窗口,找到“SysListView32”窗口。
  5. 枚举“SysListView32”窗口的子窗口,找到所有的图标。
  6. 获取每个图标的位置信息。
  7. 移动指定的图标。
    下面是示例代码:
import win32api
import win32con
import win32gui

# 获取桌面窗口句柄
desktop_hwnd = win32gui.GetDesktopWindow()

# 枚举桌面窗口的子窗口,找到“Program Manager”窗口
progman_hwnd = None
win32gui.EnumChildWindows(desktop_hwnd, lambda hwnd, param: param.append(hwnd), [])[0]
win32gui.EnumChildWindows(progman_hwnd, lambda hwnd, param: param.append(hwnd), [])
progman_hwnd = win32gui.FindWindowEx(progman_hwnd, None, "SHELLDLL_DefView", None)
progman_hwnd = win32gui.FindWindowEx(progman_hwnd, None, "SysListView32", "FolderView")

# 枚举“SysListView32”窗口的子窗口,找到所有的图标
icon_hwnds = []
win32gui.EnumChildWindows(progman_hwnd, lambda hwnd, param: param.append(hwnd), icon_hwnds)

# 获取每个图标的位置信息
for icon_hwnd in icon_hwnds:
    rect = win32gui.GetWindowRect(icon_hwnd)
    x, y = rect[:2]
    print("Icon position: ({}, {})".format(x, y))

# 移动指定的图标
icon_hwnd = icon_hwnds[0]
win32gui.MoveWindow(icon_hwnd, 100, 100, 50, 50, True)

你可不要选自动排列,否则代码白写