I found a solution, just I needed to byrefering the message.
I've changed this:
Public Event MessageIntercepted As EventHandler(Of MessageInterceptedEventArgs)
To this else:
Public Event MessageIntercepted(ByRef m As Message, ByVal args As MessageInterceptedEventArgs)
And raised the event as this:
RaiseEvent MessageIntercepted(m, MessageArgs)
So now I can play with the message results like this:
Private WithEvents WindowsMessages As New WndProcClass(Me)
Private Sub WindowsMessageHandler(ByRef m As Message, ByVal e As WndProcClass.MessageInterceptedEventArgs) _
Handles WindowsMessages.MessageIntercepted
If e.ID = WndProcClass.KnownMessages.WM_NCHITTEST Then
If CType(e.Result, NCHitTest) = NCHitTest.Top Then
m.Result = New IntPtr(NCHitTest.Caption)
End If
End If
End Sub