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