没有自动按键的鼠标点击程序?

时间:2016-08-23 18:15:33

标签: python

我是一个完整的编程新手,我正在尝试找到一种方法,在特定位置每5秒钟自动点击一次,持续5分钟,以便多次自动运行许可程序。我的工作计算机不允许安装autohotkey,但我能够安装Python v3.5(v2.7不会安装)。我的工作计算机使用Windows 7,无法安装任何需要管理员权限的程序。

我尝试使用PyAutoGui模块,它似乎不适用于v3.5 python?

我想使用的脚本如下所示,但下面的脚本适用于v2.5 python,我不能在v3.5上使用。有人可以将此脚本翻译为v3.5 python吗?

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)

2 个答案:

答案 0 :(得分:0)

为什么不编写一个使用Popen打开和关闭程序的Python脚本?

import subprocess, time

def run_program():
    program = subprocess.Popen("path/to/file.exe")
    program.terminate()

while True:
    run_program()
    time.sleep(5)

答案 1 :(得分:0)

PyAutoGui is compatible with Python 3

这是一个简短的Python 3程序,它将不断打印出鼠标光标的位置:

#! python3
import pyautogui, sys
print('Press Ctrl-C to quit.')
try:
    while True:
        x, y = pyautogui.position()
        positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
        print(positionStr, end='')
        print('\b' * len(positionStr), end='', flush=True)
except KeyboardInterrupt:
    print('\n')

要将指针移动到100x200即可执行鼠标,然后单击鼠标左键:

pyautogui.click(x=100, y=200)

其他几个例子:

>>> pyautogui.click(clicks=2)  # double-click the left mouse button
>>> pyautogui.click(clicks=2, interval=0.25)  # double-click the left mouse button, but with a quarter second pause in between clicks
>>> pyautogui.click(button='right', clicks=3, interval=0.25)  ## triple-click the right mouse button with a quarter second pause in between clicks

请参阅:Mouse Control Functions