C# 鼠标单击透明窗体上的事件而不中断后台应用程序上的事件

C# 鼠标单击透明窗体上的事件而不中断后台应用程序上的事件,c#,winforms,C#,Winforms,我需要检查用户在使用计算机时何时何地使用鼠标。为此,我创建了始终保持在前景中的透明窗体。问题是,它的行为不像我预期的那样 出于某种原因,当我选择backgroundColor和transparencyKey的Form toRed时,我可以读取鼠标事件,但我不能在保留在后台的应用程序上执行任何操作。我可以看穿表单,因为它是透明的,但我不能在它后面的应用程序上使用鼠标进行任何操作 另一方面,当我将backgroundColor和transparencyKey设置为Control(系统颜色)时,我可以

我需要检查用户在使用计算机时何时何地使用鼠标。为此,我创建了始终保持在前景中的透明窗体。问题是,它的行为不像我预期的那样

出于某种原因,当我选择
backgroundColor
transparencyKey
的Form to
Red
时,我可以读取鼠标事件,但我不能在保留在后台的应用程序上执行任何操作。我可以看穿表单,因为它是透明的,但我不能在它后面的应用程序上使用鼠标进行任何操作

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


有什么简单的方法可以让我使用MouseEvents同时使用其他windows应用程序吗?

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

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


这里有几个例子。

这肯定不是一个好方法。为什么不考虑创建一个服务而不是一个表单,要求每次鼠标点击时都通知O.S.API?