Me, I'd use C and SDL, or C and GTK+ depending on what style of GUI I was after.
But then I'd be doing that on a Linux machine, not Windows.
If you have to ask what programming language you should use, then the answer is Visual Basic. If you have enough programming knowledge to know how to find out what a programming language can do, or what might be suitable for your needs, then the answer to your question is "Anything but Visual Basic" 
At the end of the day all programming languages produce machine- or byte-code1. So it's then really a case of choosing the language that provides the interface that suits you. Pretty much any (sensible) language can do anything you want, it's just a matter of a) how easy it is to do it, b) what libraries / add-ons are available to make your life easier, and c) what languages you are proficient at programming in.
Languages can be grouped in many ways, but one common grouping is "Object Oriented / Procedural". OO languages like C#, VB, C++, Java etc make programming easier at the cost of greater overheads as regards memory management etc. They often include facilities that, while they make the writing of a program easier, they also make the programmer more lazy - things like garbage collection, etc. Procedural languages, like pure C, are generally faster and leaner, but they take a lot more skill to get to grips with properly.
Then of course you have the interpreted / compiled grouping. Interpreted languages, like Python, can be very rapid for development, but they can also be a little slow compared to compiled languages. But they are great for smaller projects where development time is at a premium but execution speed isn't critical. With no compilation phases to worry about you can just make a change and run it and instantly see the difference.
So it's impossible to say "this language is better than that language", but it is possible to say "This group of languages fits your requirements better".
From your scant information I would err towards the "Visual Studio" style languages more - Visual C#, Visual Basic, etc. At the end of the day, regardless of the actual programming language in use for each of those, they all interface to the same routines (mostly .NET) in just the same way, so the only real difference is the language syntax.
1: Java produces byte-code which is then re-compiled at run-time to produce machine code by the "JIT" (Just In Time) compiler