鼠标单击透明表单上的事件,而不会中断后台应用程序上的事件



我需要检查用户在使用计算机时使用鼠标的时间和地点。为此,我创建了始终保持在前台的透明表单。问题是,它的行为不符合我的预期。

出于某种原因,当我选择表单的backgroundColortransparencyKeyRed时,我可以读取 MouseEvents,但我无法在保留在后台的应用程序上执行任何操作。我可以透过表单查看,因为它是透明的,但我无法在保留在它后面的应用程序上使用鼠标进行任何操作。

另一方面,当我将backgroundColortransparencyKey设置为Control(系统颜色)时,我可以在其他应用程序上运行,但 MouseEvents 不起作用。

有什么简单的方法可以同时使用鼠标事件并能够使用其他Windows应用程序吗?

如果您需要在系统级别控制鼠标或键盘活动,只有一种方法,但并不简单:使用钩子。请参阅 SetWindowsHookEx 以供参考。

SetWindowsHookEx是一个Windows API,它可以拦截所有键盘和/或鼠标活动,并允许应用程序检索信息。

这里和这里(版本 1)有几个例子。

最新更新