c# - 使用 C# 或 C++ 确定(以编程方式)谁在 PC 上控制鼠标

标签 c# c++ windows mouse

有没有办法以编程方式确定谁在控制 PC 上的鼠标(以及哪个鼠标)?我最近安装了 LogMeIn (logmein.com) 并想知道是否可以 (1) 在程序中判断直接用户或远程用户是否正在单击/移动鼠标,(2) 编写一个独立的仅显示鼠标事件(在任何应用程序上)以及鼠标事件是由本地用户还是远程用户生成的程序。我对 Win32 hooks 有点熟悉,但不认为他们可以提供这种信息。关于 (1),这似乎是一个普遍的要求。 IE。 “只允许用户完成与密码更改相关的按钮按下,如果他是本地的......”或类似的东西。

次要的(实际上只是学术兴趣)是判断本地用户是使用鼠标还是触控板的问题。

最佳答案

你可以 Hook 你想从中获取信息的窗口的设备 API,然后如果鼠标移动,当用户移动鼠标时可能不会调用 api,但如果 logmein 调用,那么它可能会调用一些 SetMousePointerPos-like C WinAPI。

关于c# - 使用 C# 或 C++ 确定(以编程方式)谁在 PC 上控制鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077453/

相关文章:

没有参数的 C# 事件。我该如何处理它们?

c++ - ERROR_NOT_ENOUGH_MEMORY 使用 WritePrivateProfileString 写入 INI 时出错,调用 200k 次后

c++ - 使用 Wayland 在 Linux 上获取 Capslock 状态

windows - 使用冒号后 SVN 存储库在 Windows 上损坏

c++ - 检测 C++/Win32 中的进程崩溃

c# - "Derived"使用 Hot Chocolate 和 EFCore 的 GraphQL 字段解析器

C# Windows 窗体应用程序函数循环

windows - 从 Powershell 类返回自定义 PSObject 数组

c# - 如何使用SQLitePCL在C#Windows Phone App中检查插入操作是否成功

c++ - 打印出存储在 vector 中的字符串