Как запустить программу не через командную строку?
Ну самое простое это создать WindowsFormApplication (Решения для Microsoft Visual Studio)
Ну а в «промышленных» маштабах обычно используют фреймворк Qt
CreateProcess например позволяет запустить произвольную программу из приложения. Это не через командную строку.