There is no 3.0 version of VB.Net. Are you refering instead to the version of VB.Net shipped with VS2008? If so, that's actually VB.Net version 9.0. They didn't reset the version number when switching from VB6, they just kept incrementing.
Is this a WinForms project? If so you can just use CanvasMap.Handle to get access to the control. Note, this property won't be valid until it is actually displayed but this is true for most scenarios.
EDIT OP mentioned this is a WPF application
I'm not sure you can do this for just any control in a WPF application. It's possible to get the handle of a Window instance using the WindowInteropHelper in WPF (link). But this won't work for normal Control instances.
Why do you need the handle? Will it work to have the handle of the containing window?