Looking to apply raw programming knowledge

Hi, I'm looking for a little direction or advise from some more experienced programmers.

I don't have any official training. I learned a bit of visual basic in college. I've written scripts in various languages for games. I have a general understanding of how to program, but would like to learn a useful language.

Basically I would like to make useful things at work and apply some of this knowledge I have.I'm curious if I should venture into learning C++. From what I'm told it is the most basic language and can be difficult to learn. I'm also told it is object oriented which I am familiar with, which makes me optimistic. Another language I am curious about is C#, it sounds interesting but I don't know if I'd be better off learning C++ first, or even just C.Then there are other simpler languages that I may be able to catch onto faster. If I'm not looking to be an actual programmer, but just make useful applications for my company, would something like Java, Python, or just diving back into Visual Basic be enough?

I guess I would generally like to know if C++ would be very hard to learn if I have some basic knowledge and if so what would be a good one to learn?

Any information would be greatly appreciated and I'm sorry this was so long but I wanted to provide some background.

P.S. Let me know if you know of a useful book.

P.P.S Anyone that's curios I wrote scripts for Ultima Online (EasyUO) and Skyrim (Papyrus). Been trying to fiddle around with Flash (Action Scripts) and as I said have used Visual Basic in the past (need refreshing).