【发布时间】:2013-06-13 00:17:04
【问题描述】:
有没有办法以编程方式确定谁在控制 PC 上的鼠标(以及哪个鼠标)?我最近安装了 LogMeIn (logmein.com),想知道是否有可能 (1) 在程序中判断鼠标是被直接用户还是远程用户单击/移动,(2) 编写一个独立的仅显示鼠标事件(在任何应用程序上)以及鼠标事件是由本地用户还是远程用户生成的程序。我对 Win32 挂钩有点熟悉,但不认为它们可以提供此类信息。关于(1),这似乎是一个普遍的要求。 IE。 “仅允许用户在本地完成与密码更改相关的按钮按下......”或类似的东西。
次要的(实际上只是学术兴趣)是判断本地用户是使用鼠标还是触控板的问题。
【问题讨论】:
-
根据您问题的最后一部分,我想您会使用类似的方法来检测计算机上的触摸板或鼠标或两者是否处于活动状态。 support.microsoft.com/kb/311272
-
谢谢 CodeCamper,我去看看。最初浏览 DevCon 时,我不知道如何使用它来确定控制哪个鼠标。看起来您可以使用它列出所有鼠标设备。当然,我认为这不会有助于解决是否有人通过 LogMeIn 控制事物的问题(正如您所指出的)。谢谢!
-
自发布以来,我在 stackoverflow 上找到了这个链接:stackoverflow.com/questions/12622312/… 接受的答案中声称只能(可靠地)通过创建自己的鼠标驱动程序来完成。听起来工作量很大!
-
戴夫也许你可以根据运动的平滑度来不可靠地确定鼠标是否来自本地机器。我注意到使用 Teamviewer 时,鼠标在本地机器上有一种与标准平滑鼠标运动不同的标志性运动。因此,与具有更高运动分辨率的本地机器相比,这些位置可能会更新更多像素。只是一个想法。