2023-12-27 Python PC获取鼠标位置,移动鼠标到相应的位置 定时自动模拟鼠标点击,用于简单测试app用

一、核心源码如下:

复制代码
import pyautogui
import time

pyautogui.moveTo(600, 800)
for i in range(20):
    time.sleep(0.1)
    x, y = pyautogui.position()
    print("mouse position:", x, y)
    pyautogui.click()

二、定时自动模拟鼠标点击,模拟键盘按键

复制代码
import pyautogui
import datetime
import time
import os
import win32gui,win32con
from win32 import win32api, win32gui, win32print
from win32.lib import win32con
import math
from colorama import Fore,Back,Style
import psutil
import tkinter as tk
import pygetwindow


mem = psutil.virtual_memory()
# 系统总计内存
zj = float(mem.total) / 1024 / 1024 / 1024
# 系统已经使用内存
ysy = float(mem.used) / 1024 / 1024 / 1024

# 系统空闲内存
kx = float(mem.free) / 1024 / 1024 / 1024

R =float(mem.used) * 100 / float(mem.total)
"""获取真实的分辨率"""
hDC = win32gui.GetDC(0)
width = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES)  # 横向分辨率
height = win32print.GetDeviceCaps(hDC, win32con.DESKTOPVERTRES)  # 纵向分辨率
print(width)
print(height)

window = tk.Tk()
hwnd_title = {}

def get_all_hwnd(hwnd, mouse):
    if (win32gui.IsWindow(hwnd)
            and win32gui.IsWindowEnabled(hwnd)
            and win32gui.IsWindowVisible(hwnd)):
        hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})

win32gui.EnumWindows(get_all_hwnd, 0)
for h, t in hwnd_title.items():
    if t :
        print (h, t)


def setWindowTopmost(hwnd):
    '''将某个窗口设置为置顶窗口'''
    win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, width-350,height-175,350,119, win32con.SWP_SHOWWINDOW)
    #win32gui.SetWindowPos(hwnd,win32con.HWND_TOPMOST,0,0,45,3,win32con.SWP_NOSIZE|win32con.SWP_NOMOVE)

#hwnd = win32gui.FindWindow(None,"Windows PowerShell")
#if hwnd != 0:
        #setWindowTopmost(hwnd)

#os.popen('mode con cols=50 lines=3')
win = pygetwindow.getWindowsWithTitle('Py')[0]
win.size = (350, 119)
number=100

#pyautogui.moveTo(0,100)
while True:
    #pyautogui.press('capslock')
    #pyautogui.press('numlock')
    #hwnd = win32gui.FindWindow(None,"Windows PowerShell")
    #setWindowTopmost(hwnd)
    #win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 0, 0, 0, 0,win32con.SWP_NOMOVE | win32con.SWP_NOACTIVATE |win32con.SWP_NOOWNERZORDER | win32con.SWP_SHOWWINDOW | win32con.SWP_NOSIZE)
    time.sleep(1.0)
    os.system('cls')
    current_time = datetime.datetime.now()
    timestamp = current_time.strftime('%Y-%m-%d %H:%M:%S')
    timestamp = timestamp + '.'+str(current_time.microsecond)[0:3]
    #print("" + str(timestamp))
    x, y = pyautogui.position()
    print("mouse position:", x, y)
    if number > 12:
       pyautogui.press('numlock')
       win.moveTo(width-350, height-175-number)
       time.sleep(0.9)
       win.moveTo(width-350, height-175)
       number=0
       pyautogui.moveTo(1212, 676)
       pyautogui.click()
    else:
       number=number+1
       
    print (Fore.GREEN + str(timestamp) + " Memory:",'%d%%' % R)

三、参考文章

Python中鼠标的位置获取方法_笔记大全_设计学院

用Python制作一个自动点击器,三种模块都可以_鼠标自动点击脚本-CSDN博客

相关推荐
skywalk816321 小时前
Deskflow 是一个开源的跨平台工具,用于在多台计算机之间共享鼠标和键盘。它允许用户通过一套键鼠控制多台电脑,就像操作单台机器一样流畅。
计算机外设·电脑·deskflow
TESmart碲视1 天前
深入解析:DisplayLink 是如何把“视频”变成 USB 数据再还原成显示信号的?
计算机外设·音视频·tesmart
ACP广源盛139246256732 天前
GSV2231G@ACP#2231G产品规格详解及产品应用分享
嵌入式硬件·计算机外设·音视频
ACP广源盛139246256732 天前
GSV6505F@ACP#6505F产品规格详解及产品应用分享
单片机·嵌入式硬件·计算机外设·音视频
我的golang之路果然有问题2 天前
win键盘设置改为类似mac 配置
windows·笔记·macos·计算机外设·键盘
tyatyatya2 天前
MATLAB图形交互教程:鼠标拾取/坐标轴交互/动态绘图实战详解
开发语言·matlab·计算机外设
sc.溯琛3 天前
第 2 章 数据表示 核心重点提炼
计算机外设
Java Fans4 天前
用PyQt打造带动画、碰撞检测和键盘控制的小游戏
python·计算机外设·pyqt
土星云SaturnCloud4 天前
液冷“内卷”:在局部优化与系统重构之间,寻找第三条路
服务器·人工智能·ai·计算机外设
李斯维5 天前
MBR 和 GPT 区别
windows·嵌入式硬件·bootstrap·计算机外设