When fulfilling the requirements for my college degree, I was tasked with choosing a programming language to learn. If I recall correctly, the choices were C++, C#, and Python. Python, while powerful, is (what I call) a scripting language in that it is not compiled so I figured I could easily learn it on my own later.
This left C++ and C#. I scoured the internet looking for opinions. C# sharp truly rocks, but I got the idea it was kind of unto itself. Therefore, I went with C++ because a lot of people mentioned that what you learn there can be easily applied to other programming languages. Some may say C++ is a difficult language, but even though I had only learned BASIC many, many years ago, I took right to it. Put yourself in the right frame of mind and it's like playing with Legos.
People in the thread are recommending AHK and AutoIt, but...that doesn't make sense. If you are wishing to make full-blown applications and games from scratch...like your OP sounds like, then you don't want either of those. However, if someone can point me to a first-person shooter written from the ground up in AHK or AutoIt, I'll gladly change my stance.
You know Java. You know Visual Studio. Java is not going away anytime soon. There are worse ways to spend your time than advancing your Java knowledge. However, if you wish to broaden your horizons, C++ is an awesome way to do it. My college instructor would show us the C++ way of doing things & then, just to show a contrast, he'd show us the Java way. It was 90% identical most of the time.
I tell everyone if you learn C++ not only will you be learning a programming language, but you will also learn valuable problem-solving skills you will be able to apply to your everyday life.