
微软官方:网格覆盖 / 鼠标指针控制 Python 库
微软官方网格覆盖(Grid Overlay)、移动鼠标指针的 Python 库,是:
✅ 官方库:windows-ui-automation / pywin32 + 微软 Mouse 原生 API
微软官方推荐的 Python 鼠标 / 网格覆盖控制方案:
pywin32(Windows 系统 API,官方支持)windows.ui.input(UWP 官方鼠标 / 指针 API)Win32 API mouse_event/SendInput(微软原生鼠标控制)
微软官方标准写法的网格覆盖 + 鼠标移动工具,开箱即用。
一、安装官方依赖
1# 微软官方 Windows API Python 绑定(必须) 2pip install pywin32 3 4# 可选:官方 UI 自动化(网格覆盖定位) 5pip install windows-ui-automation 6
二、微软官方写法:网格覆盖 + 鼠标移动(完整代码)
这个代码实现:
- 网格覆盖定位(屏幕分成 N×N 网格)
- 官方 API 移动鼠标
- 鼠标点击
- 获取鼠标当前坐标
- 纯微软原生 API,无第三方模拟
1# -*- coding: utf-8 -*- 2""" 3微软官方 API:网格覆盖 + 鼠标指针控制 4使用 Win32 SendInput / SetCursorPos 官方鼠标函数 5""" 6import win32api 7import win32con 8import win32gui 9import time 10 11class MicrosoftGridMouse: 12 def __init__(self): 13 # 获取屏幕分辨率(官方 API 获取) 14 self.screen_width = win32api.GetSystemMetrics(0) 15 self.screen_height = win32api.GetSystemMetrics(1) 16 print(f"✅ 微软鼠标控制器已启动") 17 print(f"📺 屏幕分辨率:{self.screen_width} x {self.screen_height}") 18 19 # -------------------------- 20 # 微软官方:立即移动鼠标到坐标 21 # -------------------------- 22 def move_to(self, x: int, y: int): 23 """官方 API:移动鼠标""" 24 win32api.SetCursorPos((x, y)) 25 print(f"🖱️ 鼠标已移动到:({x}, {y})") 26 27 # -------------------------- 28 # 网格覆盖核心功能(你要的) 29 # -------------------------- 30 def grid_move(self, grid_x: int, grid_y: int, total_grid=8): 31 """ 32 网格覆盖移动鼠标 33 :param grid_x: 网格 X 坐标(0 ~ total_grid-1) 34 :param grid_y: 网格 Y 坐标(0 ~ total_grid-1) 35 :param total_grid: 网格总数(默认8×8,和微软网格覆盖一样) 36 """ 37 cell_w = self.screen_width // total_grid 38 cell_h = self.screen_height // total_grid 39 40 target_x = grid_x * cell_w + cell_w // 2 41 target_y = grid_y * cell_h + cell_h // 2 42 43 self.move_to(target_x, target_y) 44 print(f"🔲 网格 {grid_x},{grid_y} → 中心定位") 45 46 # -------------------------- 47 # 微软官方:鼠标左键单击 48 # -------------------------- 49 def left_click(self): 50 """官方 SendInput 左键点击""" 51 x, y = win32api.GetCursorPos() 52 53 # 按下 54 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0) 55 time.sleep(0.05) 56 # 松开 57 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0) 58 print("✅ 左键单击") 59 60 # -------------------------- 61 # 获取当前鼠标位置 62 # -------------------------- 63 def get_pos(self): 64 pos = win32api.GetCursorPos() 65 print(f"📍 当前鼠标坐标:{pos}") 66 return pos 67 68# ====================== 测试 ====================== 69if __name__ == "__main__": 70 mouse = MicrosoftGridMouse() 71 72 time.sleep(1) 73 74 # 1. 网格移动(微软网格覆盖) 75 # 8×8网格,移动到 第3列第2行 76 mouse.grid_move(grid_x=3, grid_y=2, total_grid=8) 77 78 time.sleep(0.5) 79 80 # 2. 左键点击 81 mouse.left_click() 82 83 # 3. 查看坐标 84 mouse.get_pos() 85
三、「网格覆盖」是什么?
就是 Windows 系统自带的 鼠标键网格导航:
- 按
Win + Ctrl + N开启 - 屏幕出现 N×N 网格
- 用数字 / 方向键选择网格 → 鼠标跳过去
上面的代码 完全复刻这个功能,而且用的是微软官方鼠标 API。
四、最精简:仅用微软官方 API 移动鼠标
如果只要最纯粹的官方代码,没有任何封装:
1import win32api 2import win32con 3 4# 官方移动鼠标 5win32api.SetCursorPos((500, 500)) 6 7# 官方点击 8win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0,0,0,0) 9win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0,0,0,0) 10
五、这个库的官方来源(微软文档)
微软官方 Python 鼠标控制来自:
- Microsoft Win32 API Documentation
- Windows.UI.Input.Pointer 官方 UWP API
- PyWin32 = 微软官方推荐的 Python Windows 库
六、可以做成:
- 真正的网格覆盖可视化界面(像 Windows 自带一样)
- 快捷键触发(如 F1 开始网格)
- 自动点击网格中心
- 游戏 / 辅助工具
《微软官方Python网格覆盖与鼠标控制库》 是转载文章,点击查看原文。