python移动鼠标但不显示移动轨迹

如果需要完全隐藏鼠标的移动轨迹,可以尝试通过以下两种方法解决:


方法 1:直接移动到目标点进行点击

通过直接设置鼠标的最终位置而不模拟移动,可以避免显示鼠标的移动轨迹。以下是优化代码:

import pyautogui
import ctypes# 设置鼠标光标显示或隐藏
def show_cursor(show=True):ctypes.windll.user32.ShowCursor(show)# 模拟鼠标点击
def click_directly(x, y, button="left", clicks=1, show_trail=True):# 隐藏鼠标轨迹if not show_trail:show_cursor(False)try:# 直接设置位置并点击pyautogui.moveTo(x, y, duration=0)  # duration=0 不显示移动轨迹pyautogui.click(x=x, y=y, clicks=clicks, button=button)finally:# 恢复鼠标显示if not show_trail:show_cursor(True)print(f"Clicked at ({x}, {y}) with {button} button, {clicks} time(s).")# 测试代码
if __name__ == "__main__":target_x, target_y = 500, 500# 单击左键,不显示鼠标移动轨迹click_directly(target_x, target_y, button="left", clicks=1, show_trail=False)

方法 2:使用 WinAPI 模拟点击

通过调用 WinAPI 的 SetCursorPosmouse_event 函数,可以更底层地实现鼠标点击,并避免移动轨迹显示。

示例代码
import ctypes# WinAPI 常量定义
MOUSEEVENTF_LEFTDOWN = 0x0002
MOUSEEVENTF_LEFTUP = 0x0004
MOUSEEVENTF_RIGHTDOWN = 0x0008
MOUSEEVENTF_RIGHTUP = 0x0010# 模拟鼠标点击
def click_with_winapi(x, y, button="left", clicks=1):ctypes.windll.user32.SetCursorPos(x, y)  # 直接设置鼠标位置for _ in range(clicks):if button == "left":ctypes.windll.user32.mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)ctypes.windll.user32.mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)elif button == "right":ctypes.windll.user32.mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)ctypes.windll.user32.mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)print(f"Clicked at ({x}, {y}) with {button} button, {clicks} time(s).")# 测试代码
if __name__ == "__main__":target_x, target_y = 600, 600# 单击左键,不显示鼠标移动轨迹click_with_winapi(target_x, target_y, button="left", clicks=1)

注意事项

  1. 方法 1: 如果 duration 设置为 0pyautogui 不会模拟鼠标的移动轨迹,鼠标会直接跳到目标点。
  2. 方法 2: WinAPI 是更底层的方法,完全不会显示鼠标移动,但需要管理员权限以避免一些安全机制的干扰。
  3. 如果仍然看到轨迹,可能是屏幕录制工具或者系统视觉效果导致的,可以尝试在不同环境下测试。

以上两种方法都能有效避免显示鼠标移动轨迹,请根据需求选择合适的方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程其他知识点

/* #include <stdlib.h> void exit(int status); #include <unistd.h> void _exit(int status); status 参数&#xff1a;是进程退出时的一个状态信息。父进程回收子进程资源的时候可以获取到。 */ #include <stdio.h> #include <stdlib.h> #include &…

Go语言内存分配源码分析学习笔记

大家好&#xff0c;我是V 哥。GO GO GO&#xff0c;今天来说一说Go语言内存分配问题&#xff0c;Go语言内存分配的源码主要集中在runtime包中&#xff0c;它实现了Go语言的内存管理&#xff0c;包括初始化、分配、回收和释放等。下面来对这些过程详细分析一下&#xff0c;先赞后…

Android ART知多少?

Android 虚拟机 ART&#xff08;Android Runtime&#xff09;是 Android 平台上的应用程序运行时环境&#xff0c;用于执行应用程序的字节码。ART 自 Android 5.0&#xff08;Lollipop&#xff09;开始取代了 Dalvik&#xff0c;成为 Android 的默认运行时环境。本文将从以下几…

C++ —— 剑斩旧我 破茧成蝶—C++11

江河入海&#xff0c;知识涌动&#xff0c;这是我参与江海计划的第2篇。 目录 1. C11的发展历史 2. 列表初始化 2.1 C98传统的{} 2.2 C11中的{} 2.3 C11中的std::initializer_list 3. 右值引用和移动语义 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期…

使用ufw配置防火墙,允许特定范围IP访问

在ubuntu上使用 ufw&#xff08;Uncomplicated Firewall&#xff09;允许特定 IP 地址或子网访问某个端口&#xff08;如 22 端口&#xff09;非常简单。以下是具体的步骤&#xff1a; 1. 安装 UFW&#xff08;如果尚未安装&#xff09; 首先&#xff0c;确保 ufw 已经安装。…

推荐15个2024最新精选wordpress模板

以下是推荐的15个2024年最新精选WordPress模板&#xff0c;轻量级且SEO优化良好&#xff0c;适合需要高性能网站的用户。中文wordpress模板适合搭建企业官网使用。英文wordpress模板&#xff0c;适合B2C网站搭建&#xff0c;功能强大且兼容性好&#xff0c;是许多专业外贸网站的…

(计算机毕设)基于SpringBoot+Vue的房屋租赁系统的设计与实现

博主可接毕设设计&#xff01;&#xff01;&#xff01; 各种毕业设计源码只要是你有的题目我这里都有源码 摘 要 社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的使用。互…

python蓝桥杯刷题2

1.最短路 题解&#xff1a;这个采用暴力枚举&#xff0c;自己数一下就好了 2.门牌制作 题解&#xff1a;门牌号从1到2020&#xff0c;使用for循环遍历一遍&#xff0c;因为range函数无法调用最后一个数字&#xff0c;所以设置成1到2021即可&#xff0c;然后每一次for循环&…

华为ID机试 -- 分糖果 E100

题目描述 小明从糖果盒中随意抓一把糖果&#xff0c;每次小明会取出一半的糖果分给同学们。 当糖果不能 平均分配只时&#xff0c;小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。 小明最少需要多少次(取出、放回和平均分配均记一次)&#xff0c;能将…

react-amap海量点优化

前言&#xff1a;高版本的react-amap 支持MassMarkers 组件用于一次性添加大量的标记点。本次优化的海量点是在低版本react-amap的基础上。官方推荐使用聚合useCluster属性来优化海量点的渲染。 直接附上代码&#xff1a; import React, { Component } from "react"…

深度学习中的Pixel Shuffle和Pixel Unshuffle:图像超分辨率的秘密武器

在深度学习的计算机视觉任务中&#xff0c;提升图像分辨率和压缩特征图是重要需求。Pixel Shuffle和Pixel Unshuffle是在超分辨率、图像生成等任务中常用的操作&#xff0c;能够通过转换空间维度和通道维度来优化图像特征表示。本篇文章将深入介绍这两种操作的原理&#xff0c;…

Unity类银河战士恶魔城学习总结(P132 Merge skill tree with skill Manager 把技能树和冲刺技能相组合)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了解锁技能后才可以使用技能&#xff0c;先完成了冲刺技能的锁定解锁 Dash_Skill.cs using System.Collections; using System…

正则表达式完全指南,总结全面通俗易懂

目录 元字符 连接符 限定符 定位符 修饰符&#xff08;标记&#xff09; 运算符优先级 普通字符集及其替换 零宽断言 正向先行断言 负向先行断言 正向后发断言 负向后发断言 捕获组 普通捕获组 命名捕获组 PS:非捕获组 正则表达式在线测试: 正则在线测试工具 …

qt之QFTP对文件夹(含嵌套文件夹和文件)、文件删除下载功能

一、前言 主要功能如下&#xff1a; 1.实现文件夹的下载和删除&#xff0c;网上很多资料都是单独对某个路径的文件操作的&#xff0c;并不能对文件夹操作 2.实现目标机中含中文名称自动转码&#xff0c;有些系统编码方式不同&#xff0c;下载出来的文件会乱码 3.实现ftp功能…

代码随想录算法训练营第五十一天|Day51 图论

岛屿数量 深搜 https://www.programmercarl.com/kamacoder/0099.%E5%B2%9B%E5%B1%BF%E7%9A%84%E6%95%B0%E9%87%8F%E6%B7%B1%E6%90%9C.html 思路 #include <stdio.h> #define MAX_SIZE 50 int grid[MAX_SIZE][MAX_SIZE]; int visited[MAX_SIZE][MAX_SIZE]; int N, M; …

HCIP --OSI七层参考模型回顾、TCP/UDP协议复习

目录 一、OSI 二、重要的三个协议报头格式 名词注解 MTU 封装 解封装 PDU ARP DNS TCP/IP与OSI的区别 三、数据包转发过程 四、获取目标ip地址方式 五、获取目标mac地址方式 六、交换机的工作原理 七、TCP/UDP TCP&#xff08;Transmission Control Protocol&a…

ORIN NX 16G安装中文输入法

刷机版本为jetpack5.14.刷机之后预装了cuda、cudnn、opencv、tensorrt等&#xff0c;但是发现没有中文输入&#xff0c;所以记录一下安装流程。 jetson NX是arm64架构的&#xff0c;sougoupinyin只支持adm架构的&#xff0c;所以要选择安装Google pinyin 首先打开终端&#x…

解决背景图因为图片路径中携带括号导致图片无法显示的问题

本人是在uniapp中写微信小程序遇到了这个问题&#xff0c;调用后端接口传来的数据&#xff0c;发现有些背景图能正常显示&#xff0c;但有些不能&#xff0c;最后发现问题是因为路径地址携带了()的原因 如下&#xff1a; 注&#xff1a;该地址无法正常访问&#xff0c;放在这只…

Node == Sequelize 使用文档

目录 1. 简介 2. 安装 3. 连接到数据库 4. 测试连接 5. 关闭连接 6. 模型&#xff08;Model&#xff09; define.sync({ force: true }); belongsTo paranoid 7. 增删改查&#xff08;CRUD&#xff09; 7.1 查询&#xff08;Query&#xff09; 7.2 插入&#xff08;…

2411rust,1.75.0

原文 Rust团队很高兴地声明推出Rust的新版本1.75.0. 如果你rustup安装了以前版本的Rust,你可如下取1.75.0: $ rustup update stable1.75.0稳定版中的功能 async fn和特征中的返回位置impl Trait. 指针字节偏移API 原始指针(*const T和*mutT)过去主要支持,T为单位的操作.如…