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博客

相关推荐
雾林小妖4 天前
win10连接鼠标自动关闭触摸板/win10关闭触摸板(笔记本)
计算机外设
大魔王(已黑化)4 天前
OpenCV 入门知识:图片展示、摄像头捕获、控制鼠标及其 Trackbar(滑动条)生成!
人工智能·opencv·计算机外设
TESmart碲视6 天前
一台显示器上如何快速切换两台电脑主机?
单片机·计算机外设·电脑·显示器·智能硬件
TESmart碲视6 天前
显示器如何突破 DisplayPort 1.4 的带宽限制,显示更高的分辨率刷新率
单片机·物联网·计算机外设·电脑·智能硬件
暴躁茹7 天前
Qt 将触摸事件转换为鼠标事件(Qt4和Qt5及以上版本)
开发语言·qt·计算机外设
短尾黑猫8 天前
【Fedora 42】Linux内核升级后,鼠标滚轮失灵,libinput的锅?
linux·运维·计算机外设
不讲废话的小白8 天前
解锁高效Excel技能:摆脱鼠标,快速编辑单元格
计算机外设·excel
南棱笑笑生9 天前
20250715给荣品RD-RK3588开发板刷Android14时打开USB鼠标
android·计算机外设
TESmart碲视9 天前
显示器核心三要素详解:刷新率、分辨率、色深
物联网·游戏·计算机外设·电脑·智能硬件
景彡先生9 天前
STM32 USB开发详解:CDC虚拟串口与HID键盘鼠标(基于CubeUSB库)
stm32·嵌入式硬件·计算机外设