You're saying it yourself, you find it too complex, because you are a c++ programmer.
If handles are that hard for you, maybe you should go back to VB.
What i am trying to say is programming in other libraries are like sewing with a hand made of stone. For example Win32 allows you to close handles whenever you want, and the way you want, not the way your library wants.
So, complexity is a price which HAS to be payed by any programmer in order to achieve flexibility.