Yes, you need global keyboard hooks - but frankly, VB is a poor choice (and C# is not a lot better) - you would find it a lot easier in a native language such as C++.
But...there are a lot of articles on the subject:
Google: "global keyboard hook site:codeproject.com"[
^] so you have a fair amount of reading to do.
Be aware that you will probably mess up quite a lot of applications with this idea...ALT and Function keys are used quite often.