The following assumes that you are targetting a Windows only platform (if you are looking cross-OS - then lots of the other posts cover various options).
You may be quite fortunate in that you already have an application that can be run from the command line. It is entirely possible to work in one of the .Net languages and access your existing application. Any .Net language (C#, VB.Net, managed C++) can be used to very quickly construct a UI and bind UI components and events and then have that call out to your existing application - passing down the necessary command line arguments.
Another option: Managed C++ actually allows you to mix managed (.Net code) and unManaged code (standards compliant C++ - i.e. - your existing applications) in the same projects (even the same files for lots of code). This allows you access to many modern IDE features and the .Net library for anything net new that you want to add. You simply play a bit with some project settings and "it just works" (well - there might be some learning things but it is quite easy).
While I have a full version of Visual Studio - I believe that the free "Express" versions (http://www.microsoft.com/express/product/) are quite capable for many of these tasks.