RProffitt mentioned that you weren't using the right tags with your posts in one of your previous threads. I'm wondering if one of the tags should be "keylogger". You mentioned this as your goal in a previous thread:
What i am trying to do is make a "tamil" language typing software.
When a user press the "a" key it will replaced by "ආ".
Can't think of why such an application would need a GLOBAL keyboard hook. Local keyboard hook for this application I can see. There are plenty of legitimate reasons to use global keyboard hooks, but my life experience has taught me that, generally, when I see someone who appears to be a complete novice asking about how to install a global keyboard hook where it doesn't appear to be needed, and with no code shown regarding the rest of the application, it's not cynical or paranoid to get suspicious.
The fact that you are asking for it in C++ AND VB.NET makes me more suspicious. I see not a single line of code in any of your posts, every single one of your various projects seems to need a keyboard hook and you have yet to answer any of the technical questions you've been asked. I can't see a non-novice programmer making the posts you are making and I can't see any reason a novice programmer would use a global keyboard hook for anything BUT a keylogger. I can potentially see a novice not knowing the difference between a local and global hook and not knowing when to use which one.
I've been wrong before on stuff like this, but not often. A legitimate global keyboard hook would be be used where... well I'm not going to tell you where they'd be legitimately used, but I can't see it being needed for a typing application (anyone practicing typing would be typing into YOUR app, which would have the focus, so no need for the global hook).