La forma más sencilla de generar una aplicación GUI con un rango de diálogos simples es usar una pequeña herramienta llamada Zenity (otra versión se llama Gdialog).
En realidad, es un pequeño programa que puede ejecutarse desde la línea de comandos, script de shell o archivo por lotes. O, sin embargo, invoca un comando externo desde su programa C. Cuando sale, da un código de retorno y una cadena en la salida estándar: esta cadena es la salida de ese diálogo: nombre de archivo para abrir, el elemento de la lista seleccionado, el archivo de texto editado, lo que sea.
No hará cosas complejas como los gráficos, pero para aplicaciones de GUI simples funciona realmente bien y es mucho más sencillo desarrollar una aplicación: pruebe cada diálogo directamente desde la línea de comandos hasta que haga lo que quiera.
Solo lo he usado en Linux, pero es una herramienta pequeña tan útil, me sorprendería si no hubiera un puerto de Windows disponible.