我需要检查用户在使用计算机时使用鼠标的时间和地点。为此,我创建了始终保持在前台的透明表单。问题是,它的行为不符合我的预期。
出于某种原因,当我选择表单的backgroundColor
和transparencyKey
来Red
时,我可以读取 MouseEvents,但我无法在保留在后台的应用程序上执行任何操作。我可以透过表单查看,因为它是透明的,但我无法在保留在它后面的应用程序上使用鼠标进行任何操作。
另一方面,当我将backgroundColor
和transparencyKey
设置为Control
(系统颜色)时,我可以在其他应用程序上运行,但 MouseEvents 不起作用。
有什么简单的方法可以同时使用鼠标事件并能够使用其他Windows应用程序吗?
如果您需要在系统级别控制鼠标或键盘活动,只有一种方法,但并不简单:使用钩子。请参阅 SetWindowsHookEx 以供参考。
SetWindowsHookEx是一个Windows API,它可以拦截所有键盘和/或鼠标活动,并允许应用程序检索信息。
这里和这里(版本 1)有几个例子。