For the API I reckon "Win 32 API Programming with Visual Basic" By Steve Roman (O'Reilly Publishing, http://www.oreilly.com) It really goes into how the API works rather than just showing you a few APIs and a couple of subclassing examples. It also teaches you enough C syntax to read the MSDN info on APIs so you can just look any API up in MSDN. It's a great book.