C# - 跟踪表单外的WM_LBUTTONDOWN

时间:2011-03-31 17:24:58

标签: c#

我希望在表单外部单击鼠标左键时获取。我发现这可以用WM_LBUTTONDOWN完成,但我一直在搜索几个小时,但还没有找到如何让它工作......

提前致谢

2 个答案:

答案 0 :(得分:0)

是的,确实,你需要一个全局钩子。 Blorgbeard发布的资源确实有效,只做了一些修改 当在HookManager.Callbacks.cs中调用'SetWindowsHookEx'时,更改参数:

Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0])
// to this:
IntPtr.Zero

它会突然开始工作。想想看,我也将目标平台从2.0改为4.0。您可能也需要这样做。无论如何,就像一个魅力。

答案 1 :(得分:0)

全局钩子以某种方式被忽略,您可以调用SetCapture来捕获鼠标事件。