c# 怎么控制鼠标根据不同分辨率的电脑,找到同一位置
是这样的,我想用模拟鼠标的方法点击某一位置,但是如果换了电脑屏幕,位置就改变了,所以我想做成相对位置的,先去的分辨率,再根据分辨率决定位置,有没有大神做过这方面的,求解0.0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
是这样的,我想用模拟鼠标的方法点击某一位置,但是如果换了电脑屏幕,位置就改变了,所以我想做成相对位置的,先去的分辨率,再根据分辨率决定位置,有没有大神做过这方面的,求解0.0
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
这种问题搞什么算法,PC的屏幕分辨率能有几种?30种?50种?搞个列表查表就得了。
引用来自“天体图”的评论
65535是什么鬼。。。。你这把
x * 65535 / w打印出来,看看是什么值,你就会知道你错没错了;然后你再看看我之前说的那句话,你的算法明显和我说的不一样好么。我说个简单点例子,比如你按钮本来在10*10分辨率下坐标是(1,1),那么在100*100坐标下就是1*100/10=10,坐标就是(10,10)。算法是(原始坐标*目标分辨率/原始分辨率),你的是(原始坐标*65535/目标分辨率)
您说的那个方法是对的,但是只是对于整个屏幕来说,无论更换什么分辨率,他点的始终是屏幕的那一点,但是我是想点击浏览器上的那个按钮,分辨率一变,浏览器上的按钮也跟着变(比如百度上的那个百度按钮,按照您的方法,无论改变什么分辨率,他点的依旧是上一个分辨率所点的那一个点,而百度那个按钮早已不在那个位置了)
65535是什么鬼。。。。你这把
x * 65535 / w打印出来,看看是什么值,你就会知道你错没错了;然后你再看看我之前说的那句话,你的算法明显和我说的不一样好么。我说个简单点例子,比如你按钮本来在10*10分辨率下坐标是(1,1),那么在100*100坐标下就是1*100/10=10,坐标就是(10,10)。算法是(原始坐标*目标分辨率/原始分辨率),你的是(原始坐标*65535/目标分辨率)
我用的是mouse_event来模拟的鼠标,如果用百分比就有小数了,函数就报错了
总感觉楼主是不是把简单需求弄复杂了..
屏幕分辨率可以用 Screen.PrimaryScreen.Bounds获得,计算方式楼上已经给了
你是指,等比缩放?假如在1024宽度下点击X坐标为100,在1366下不就是100*1366/1024么,高度也是同样的道理,不过可能会有些误差。但是如果点击区域不是特别小,这个误差应该可以忽略,总之要多测试。