【问题标题】:How can I detect the mouse position anywhere on the screen?如何检测屏幕上任意位置的鼠标位置?
【发布时间】:2015-01-07 07:33:59
【问题描述】:

我在 MATLAB 中工作,我想从屏幕上的任何位置获取光标位置。

我想在鼠标移动时不断获取光标的位置。但是,我发现 MATLAB 可以在鼠标移动时获取鼠标位置只能在 GUI 中。

如何在 MATLAB 的 GUI 中实现相同的功能?

【问题讨论】:

    标签: matlab mouseevent mouse mouse-position


    【解决方案1】:

    您确定 MATLAB 只能在 GUI 中获取鼠标坐标吗?实际上,在屏幕上的任意位置获取鼠标的位置非常简单,与 GUI 无关。

    使用以下内容:

    get(0, 'PointerLocation')
    

    通过移动鼠标并每次调用此命令来尝试此操作。您将看到鼠标移动时输出不断变化。您会看到它独立于 GUI 工作。

    此函数的输出将返回一个双元素数组,其中第一个元素是x 或列位置,第二个元素是y 或鼠标的行位置。请记住,参考点相对于屏幕的左下角。因此,将鼠标放在屏幕的左下角会产生(1,1),而将鼠标放在屏幕的右上角会产生屏幕的分辨率。

    现在,如果您想连续获取鼠标的位置,请考虑将此调用置于 while 循环中,同时暂停一小段时间,以免 CPU 过载.因此,请执行以下操作:

    while condition
        loc = get(0, 'PointerLocation');
    
        %// Do something
        %...
        %...
    
        pause(0.01); %// Pause for 0.01 ms
    end
    

    【讨论】:

      猜你喜欢
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      • 2014-12-09
      • 2018-02-09
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2013-11-18
      相关资源
      最近更新 更多