首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Python控制鼠标

使用Python控制鼠标
EN

Stack Overflow用户
提问于 2009-07-25 15:15:30
回答 12查看 471.1K关注 0票数 240

如何在Python中控制鼠标光标,即在Windows下将其移动到某个位置并单击?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-07-25 07:57:20

在安装了pywin32 (在我的例子中是pywin32-214.win32-py2.6.exe)之后,在WinXP上测试了Python2.6(也测试了3.x):

import win32api, win32con
def click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
click(10,10)
票数 358
EN

Stack Overflow用户

发布于 2014-11-21 02:32:50

尝试使用PyAutoGUI模块。它是多平台的。

pip install pyautogui

因此:

import pyautogui
pyautogui.click(100, 100)

它还具有其他功能:

import pyautogui
pyautogui.moveTo(100, 150)
pyautogui.moveRel(0, 10)  # move mouse 10 pixels down
pyautogui.dragTo(100, 150)
pyautogui.dragRel(0, 10)  # drag mouse 10 pixels down

这比浏览所有的win32con内容要容易得多。

票数 186
EN

Stack Overflow用户

发布于 2009-07-25 07:57:20

您可以使用win32apictypes模块使用win32 api来控制鼠标或任何gui。

下面是一个使用win32api控制鼠标的有趣示例:

import win32api
import time
import math

for i in range(500):
    x = int(500+math.sin(math.pi*i/100)*500)
    y = int(500+math.cos(i)*100)
    win32api.SetCursorPos((x,y))
    time.sleep(.01)

使用ctypes进行单击:

import ctypes

# see http://msdn.microsoft.com/en-us/library/ms646260(VS.85).aspx for details
ctypes.windll.user32.SetCursorPos(100, 20)
ctypes.windll.user32.mouse_event(2, 0, 0, 0,0) # left down
ctypes.windll.user32.mouse_event(4, 0, 0, 0,0) # left up
票数 84
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1181464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档