2017-12-27 228 views
-1

我需要检查用户何时何地使用鼠标,而使用他的电脑。为此,我创建了透明的表单,它始终保持在前台。问题是,它不像我预期的那样。透明的MouseClick事件不中断后台应用程序的事件

由于某种原因,当我选择backgroundColortransparencyKey Form到Red我可以阅读MouseEvents,但我无法对处于后台的应用程序执行任何操作。我可以通过窗体看到它是透明的,但我无法在保留它的应用程序上使用鼠标进行任何操作。另一方面,当我将backgroundColortransparencyKey设置为Control(系统颜色)时,我可以在其他应用程序上操作,但MouseEvents不起作用。

有没有简单的方法可以使用MouseEvents并能够同时使用其他Windows应用程序?

+0

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

回答

2

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

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

Here and here (version 1)有几个例子。

相关问题