【发布时间】:2021-08-18 07:18:10
【问题描述】:
我正在开发 VSTO Word 插件。 vsto 插件是否可以检测用户是否在文档区域之外单击。
如下图示例:检测是否单击了黑框内的任意位置(功能区和底部区域)
我不需要知道点击的是什么控件...只要点击发生在这两个黑框内。
对我有什么办法吗?谢谢。
更新:
Private Function MouseHookCallback(ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
If nCode = 0 Then
Dim mouseHookStruct = CType(Marshal.PtrToStructure(lParam, GetType(SafeNativeMethods.MouseHookStructEx)), SafeNativeMethods.MouseHookStructEx)
Dim message = CType(wParam, SafeNativeMethods.WindowMessages)
Debug.WriteLine("{0} event detected at position {1} - {2}", message, mouseHookStruct.pt.X, mouseHookStruct.pt.Y)
If message = WindowMessages.WM_LBUTTONDOWN Or message = WindowMessages.WM_MBUTTONDOWN Or message = WindowMessages.WM_RBUTTONDOWN Or _
message = WindowMessages.WM_MOUSEHWHEEL Or message = WindowMessages.WM_MOUSEWHEEL Then
'do something here
End If
If message = WindowMessages.WM_MOUSEMOVE Then
Debug.WriteLine("mouse move!!!!!!!!!!!!!!!!!!a with ncode=> " & nCode)
End If
End If
Return SafeNativeMethods.CallNextHookEx(_hookIdKeyboard, nCode, wParam, lParam)
End Function
【问题讨论】: