Похоже, вы ориентируетесь на Windows и только на Windows. Как таковой, я бы придерживался Visual Studio. Это отличная среда разработки, разработанная специально для разработки Windows.
И QT, и Code :: Blocks предназначены для межплатформенных IDE. У меня нет большого опыта работы с этими IDE. В прошлом я обнаружил, что они были хороши в предоставлении инструментов для генерации кроссплатформенного кода, но не так хорошо помогали вам ориентироваться на функции, специфичные для конкретной операционной системы. Если вы намереваетесь использовать только одну платформу, вы, вероятно, захотите использовать некоторые специфические функции Windows.
Что касается языка, который немного больше зависит от того, что вы на самом деле делаете, и в целом немного субъективен. Мой личный совет - использовать C #, если нет ограничений, мешающих вам поступить иначе. Например, если вам нужно было написать драйвер, который требовал кода на C ++.