Techically savvy Visual Basic programmers for long have had to deal with VB's limited type system and lack of support for casting and pointer manipulation. Although type-safety generally is a very good thing, when you need to call the windows API or optimize a piece of code the strict type checking mechanism only tends to get in the way. Unfortunately, apart from a couple of unsupported low-level statements (i.e. VarPtr, ObjPtr, StrPtr and AddressOf) the language simply does not like untyped data and does a good job of discouraging you to use it. Most VB programmers eventually learn to live with this and unwillingly resort to the far from elegant but seemingly omnipresent abuse of an otherwise obscure API function exported by kernel32.dll, the discovery - and for that matter also first application in this context - of which should be contributed to Hardcore Visual Basic author and (classic) VB guru Bruce McKinney, although the entry point is actually quite useful for VB programmers when used to do what it was meant for in the first place.
Michael Rutten has wrote this article for you: "Hidden Gems for Free, Exposing undocumented memory access functions in Visual Basic 6".
Right here you will found and allow to pull the same low-level tricks in Visual Basic as in any given programming language.