如何在屏幕上任何位置检测鼠标位置?

4
我正在使用MATLAB,希望能够从屏幕上的任何位置获取光标位置。我想在鼠标移动时持续获取光标位置。然而,我发现MATLAB只能在GUI中获取鼠标移动时的位置。那么,在MATLAB中如何实现不在GUI中获取鼠标位置呢?
1个回答

8

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

使用以下代码:

get(0, 'PointerLocation')

尝试将鼠标移动并每次调用此命令。您会发现,当鼠标移动时,输出会不断变化。请注意,这在没有GUI的情况下也可以工作。
该函数的输出将返回一个两个元素的数组,其中第一个元素是您的鼠标的x或列位置,第二个元素是您的鼠标的y或行位置。请注意,参考点是相对于屏幕左下角的。因此,将鼠标放置在屏幕左下角应该产生(1,1),而将鼠标放置在屏幕右上角应该产生您的屏幕分辨率。
现在,如果您想要< strong>连续获取鼠标位置,请考虑将此调用放置在一个while循环中,同时暂停一小段时间,以避免过载CPU。因此,请执行以下操作:
while condition
    loc = get(0, 'PointerLocation');

    %// Do something
    %...
    %...

    pause(0.01); %// Pause for 0.01 ms
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接