If one is skilled enough in Visual Basic, he can do almost anything C++ can.

It takes a little longer to code it, but the initial Windows API takes long to write up in C++ (unless a template is used). Visual Basic requires a "Library Call" type system to load C++ functions from a windows default DLL or even a user-made DLL. This allows VB to have the convenience of 32-bit design-time programming with the speed of C++ functions imported from a DLL.

On the other hand, if the program is going to be made up of virtually nothing but C++ functions from DLL's or needs certain features such as pointers or templates, then it would be best just to design the program in C++.