c# 怎么控制鼠标根据不同分辨率的电脑,找到同一位置

发布于 2021-12-02 17:11:35 字数 92 浏览 826 评论 7

是这样的,我想用模拟鼠标的方法点击某一位置,但是如果换了电脑屏幕,位置就改变了,所以我想做成相对位置的,先去的分辨率,再根据分辨率决定位置,有没有大神做过这方面的,求解0.0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

夜血缘 2021-12-06 15:47:09

这种问题搞什么算法,PC的屏幕分辨率能有几种?30种?50种?搞个列表查表就得了。

甜柠檬 2021-12-06 15:34:34

引用来自“天体图”的评论

65535是什么鬼。。。。你这把
x * 65535 / w打印出来,看看是什么值,你就会知道你错没错了;然后你再看看我之前说的那句话,你的算法明显和我说的不一样好么。我说个简单点例子,比如你按钮本来在10*10分辨率下坐标是(1,1),那么在100*100坐标下就是1*100/10=10,坐标就是(10,10)。算法是(原始坐标*目标分辨率/原始分辨率),你的是(原始坐标*65535/目标分辨率)

爱你是孤单的心事 2021-12-06 14:44:25

您说的那个方法是对的,但是只是对于整个屏幕来说,无论更换什么分辨率,他点的始终是屏幕的那一点,但是我是想点击浏览器上的那个按钮,分辨率一变,浏览器上的按钮也跟着变(比如百度上的那个百度按钮,按照您的方法,无论改变什么分辨率,他点的依旧是上一个分辨率所点的那一个点,而百度那个按钮早已不在那个位置了)

执手闯天涯 2021-12-06 14:11:42

65535是什么鬼。。。。你这把
x * 65535 / w打印出来,看看是什么值,你就会知道你错没错了;然后你再看看我之前说的那句话,你的算法明显和我说的不一样好么。我说个简单点例子,比如你按钮本来在10*10分辨率下坐标是(1,1),那么在100*100坐标下就是1*100/10=10,坐标就是(10,10)。算法是(原始坐标*目标分辨率/原始分辨率),你的是(原始坐标*65535/目标分辨率)

如此安好 2021-12-06 11:39:44

我用的是mouse_event来模拟的鼠标,如果用百分比就有小数了,函数就报错了

温柔少女心 2021-12-06 02:53:22

总感觉楼主是不是把简单需求弄复杂了.. 

屏幕分辨率可以用 Screen.PrimaryScreen.Bounds获得,计算方式楼上已经给了

恋你朝朝暮暮 2021-12-05 20:12:24

你是指,等比缩放?假如在1024宽度下点击X坐标为100,在1366下不就是100*1366/1024么,高度也是同样的道理,不过可能会有些误差。但是如果点击区域不是特别小,这个误差应该可以忽略,总之要多测试。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文