Basically, a general purpose program like this can't exist. In theory you might make something that can give you the output from your question, but there are so many programming languages in existence that being able to do this for more than a handful is a daunting task. Worse, it would either have to profile the application, just look at the list of loaded dlls, or do some sort of static analysis.
Now, to make the question even more tricky, MFC and Qt aren't even really new languages. Where should this hypothetical program draw the line? Does including Boost make your program a Boost program?
For more fun, Visual Studio never makes a pure C++ program. The function that calls main is always C, even in a C++ app.
You best bet for getting any useful information is probably to profile the app using the SysInternals Process Explorer and look at what Dlls the program is loading. Then, you can't decide what type of application is by looking at what libraries it's loading.
Edit: This assumes you're trying to find this out at run-time. If you're trying to find it out at compile time, that should be pretty easy, assuming you have the source code.
Also getting the architecture the program is compiled for should be pretty easy. Though, if it's running, the architecture should be visible in the Task Manager. I don't think this is what the original poster was asking about though.