【问题标题】:Mouse coordinates outside of a form窗体外的鼠标坐标
【发布时间】:2014-04-24 14:50:40
【问题描述】:

我正在尝试制作一个简单的鼠标宏程序,但我无法弄清楚如何在表单本身之外获取鼠标的坐标。 我尝试过使用MousePositionCursor.Position,但这似乎只取表单内的坐标。

我在互联网上四处查看,但大多数示例都是在表单/应用程序内部捕获,而我在 StackOverflow 上发现的唯一类似问题没有得到解答。 VB.net -- Getting mouse coordinates outside the form

那么,在自己的程序之外捕获鼠标坐标的简单方法是什么? 如果不是简单的方法,有人可以解释一下复杂的方法吗? 我真的很感激!

【问题讨论】:

    标签: vb.net mouse-coordinates


    【解决方案1】:

    假设 WinForms,您可以尝试只使用计时器:

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
      Me.Text = MousePosition.ToString
    End Sub
    

    【讨论】:

    • 这确实适用于跟踪坐标,但我也尝试在单击时将坐标添加到列表中,以便稍后重播操作。但是当我在表单外单击时,单击不会注册,因为表单不再聚焦,事件当然是 form_mouseclick 事件,VB 中是否有任何事件可以在单击表单外时起作用,或者我需要为它创建我自己的活动?还是有其他方法可以得到这个结果?
    • @Vahx 您可以将我代码中的MousePosition 替换为MouseButtons,它会告诉您在滴答事件发生时按下了哪个鼠标按钮。
    • 谢谢,但更多的是点击按钮的位置,而不是点击哪个按钮。
    • @Vahx 对不起,我误解了你的评论。您基本上是在谈论全局挂钩,而不是表单中的事件。见Processing Global Mouse and Keyboard Hooks in C#
    • 好的,谢谢,看起来有点复杂,但我在网上找到了一些 VB 变体,所以我想我会弄清楚的。 :) 回答已接受
    猜你喜欢
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 2012-06-06
    • 2013-04-30
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多