如何检测屏幕上任意位置的鼠标位置?
How can I detect the mouse position anywhere on the screen?
我在 MATLAB 中工作,我想从屏幕上的任何位置获取光标位置。
我想在鼠标移动的同时不断获取光标的位置。但是,我发现 MATLAB 可以在鼠标移动时获取鼠标位置 仅在 GUI 中。
如何在 MATLAB 的 GUI 中实现相同的功能?
您确定 MATLAB 只能在 GUI 中获取鼠标坐标吗?独立于 GUI 获取鼠标在屏幕上任意位置的位置实际上非常简单。
使用以下内容:
get(0, 'PointerLocation')
尝试移动鼠标并每次调用此命令。当鼠标移动时,您会看到输出不断变化。您会看到它独立于 GUI 工作。
此函数的输出将 return 一个双元素数组,其中第一个元素是 x
或列位置,第二个元素是 y
或行位置你的鼠标。请记住,参考点是相对于屏幕左下角的。因此,将鼠标放在屏幕的左下角应该产生 (1,1)
而将鼠标放在屏幕的右上角会产生屏幕的分辨率。
现在,如果您想连续 获取鼠标的位置,请考虑将此调用置于 while
循环中,同时暂停一小段时间,这样你不会超载 CPU。因此,做这样的事情:
while condition
loc = get(0, 'PointerLocation');
%// Do something
%...
%...
pause(0.01); %// Pause for 0.01 ms
end
我在 MATLAB 中工作,我想从屏幕上的任何位置获取光标位置。
我想在鼠标移动的同时不断获取光标的位置。但是,我发现 MATLAB 可以在鼠标移动时获取鼠标位置 仅在 GUI 中。
如何在 MATLAB 的 GUI 中实现相同的功能?
您确定 MATLAB 只能在 GUI 中获取鼠标坐标吗?独立于 GUI 获取鼠标在屏幕上任意位置的位置实际上非常简单。
使用以下内容:
get(0, 'PointerLocation')
尝试移动鼠标并每次调用此命令。当鼠标移动时,您会看到输出不断变化。您会看到它独立于 GUI 工作。
此函数的输出将 return 一个双元素数组,其中第一个元素是 x
或列位置,第二个元素是 y
或行位置你的鼠标。请记住,参考点是相对于屏幕左下角的。因此,将鼠标放在屏幕的左下角应该产生 (1,1)
而将鼠标放在屏幕的右上角会产生屏幕的分辨率。
现在,如果您想连续 获取鼠标的位置,请考虑将此调用置于 while
循环中,同时暂停一小段时间,这样你不会超载 CPU。因此,做这样的事情:
while condition
loc = get(0, 'PointerLocation');
%// Do something
%...
%...
pause(0.01); %// Pause for 0.01 ms
end