先来看看AutoHotKey中,点击鼠标左键的命令

Clicks a mouse button at the specified coordinates.

这里需要获得像素位置。

实际上,很多对于鼠标的操作都是根据鼠标的像素位置进行的,然而windows系统下,屏幕分辨率和缩放比例会影响像素位置。

这两个因素如何影响像素位置呢?

分辨率:意味着在横纵方向分别有多少个像素点,以屏幕正中间的点A为例,分辨率为1366*768时,点A的像素坐标为(683, 384),分辨率为1920*1080时,点A的像素坐标为(960, 540)

缩放比例:不改变分辨率的前提下,改变缩放比例,会改变屏幕上点的像素位置。以屏幕正中间点A为例,分辨率为1920*1080时,缩放率为100%,点A原像素坐标为(960, 540),缩放率为125%,点A现在的像素坐标为(768, 432)。这是由于缩放比例改变了像素点的大小,原来可以容纳1920*1080个像素点的屏幕,现在仅能容纳1536*864个像素点。

此外,ahk应用在远程登陆服务器并显示在自己的电脑屏幕时,鼠标点击在屏幕物理坐标若要维持不变,需要改变鼠标点击的像素坐标。远程服务器的缩放比例一般为100%,若自己电脑缩放比例为125%,因此需要将自己电脑屏幕的像素坐标/0.8,才能使得远程显示时鼠标点击的屏幕物理坐标维持不变。

Windows屏幕分辨率、缩放影响下,获取鼠标像素位置相关推荐

  1. windows屏幕分辨率及系统缩放获取方法大全

    本人微信公众号:CPP进阶之旅 如果觉得这篇文章对您有帮助,欢迎关注 "CPP进阶之旅" 学习更多技术干货 windows屏幕分辨率及系统缩放获取方法大全 方法一:MonitorF ...

  2. Windows核心编程_获取鼠标指定位置的RGB颜色值

    Windows核心编程_获取鼠标指定位置的RGB颜色值 大家平常会见到很多屏幕取色工具,其原理都是获取鼠标位置的屏幕像素点颜色! 一般思路都是:获取鼠标位置,然后取出鼠标指向的屏幕像素点颜色! Get ...

  3. LabVIEW自适应屏幕分辨率缩放

    文章目录 前言 一.子vi百度网盘自取 二.子vi使用方法 三.窗口大小设置 四.总结 前言 在使用 LabVIEW进行上位机项目开发的时候软件的分辨率是根据我们所开发的电脑所决定的,但是当开发完的上 ...

  4. python 移动鼠标位置_python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务 本章介绍了许多不同函数,下面是快速的汇总参考: moveTo(x,y)将鼠 ...

  5. 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    文章目录 一.鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 1.保存当前鼠标指针指向的位置 2.根据鼠标指针指向的位置以及比例重新计算图片位置 二.绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩 ...

  6. jq和js用mousemove获取鼠标当前位置

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. openlayers学习——10、openlayers监听获取鼠标坐标位置

    openlayers监听获取鼠标坐标位置 前言:基于Vue,学习openlayers,根据官网demo,记录常用功能写法.本人不是专业GIS开发,只是记录,方便后续查找. 参考资料: openlaye ...

  8. JS获取鼠标光标位置并在光标位置添加内容

    目标需求 获取鼠标光标位置,然后点击按钮或其他事件,在鼠标光标的位置插入需要的文字等 准备工具 contenteditable:contenteditable属性指定元素内容是否可编辑. window ...

  9. java编程获取屏幕分辨率_Java编程获取当前屏幕分辨率的方法示例

    本文实例讲述了Java编程获取当前屏幕分辨率的方法.分享给大家供大家参考,具体如下: /** * This class implements the functionality of fetching ...

最新文章

  1. ISME:二氧化碳和氮水平对植物根表菌群和功能的影响
  2. 学会骗人,是重要的生存技能!
  3. 如何在ubuntu上安装virtualbox的driver module vboxdrv
  4. Pytorch 反向传播实例,梯度下降
  5. python基本对象类型
  6. 未来五年,谁将挑战德国太阳能擂主
  7. 如何使用“查找”App 定位丢失的设备或物品?
  8. SQL Server 2005全文索引(full text search)
  9. 树莓派docker 搭建owncloud个人云盘
  10. shared pool 和buffer pool 详解(之二, Cache Buffers LRU Chain、Cache Buffers LRU Chain闩锁竞争与解决)
  11. Linux中安装JDK并配置环境变量
  12. 华为交换机端口基本配置指南
  13. QQ聊天记录的备份和恢复(含迁移与合并)
  14. 视频教程-C# 实战项目——快递单打印软件-C#
  15. dreamweaver cs6 的破解方法
  16. 浪潮m6智能服务器,浪潮全新M6服务器满足智慧时代算力需求
  17. 电脑键盘部分按键失灵的解决方法
  18. 旷视科技2023校园招聘提前批正式启动!
  19. su oracle和su - oracle的区别
  20. Golang开发新手常犯的50个错误

热门文章

  1. 激励 名言 给奋斗在IT行业的人
  2. 国产的数据库新增一员,华为携GaussDB入局
  3. MySQL删除或清空表中数据的方法
  4. 【JProfiler帮助5】记录数据
  5. Xshell和Xftp下载
  6. 目标检测 | Anchor free之CenterNet深度解析
  7. 数据库读写分离数据延迟解决方案
  8. 疫情中饭店美食推荐软件开发的功能有哪些?
  9. macbookpro去掉关机提示
  10. openvz实现的honeypot