Во-первых, CLI , как в Интерфейс командной строки , а не DOS.
Второе программирование GUI отличается по шаблонам и требует больших знаний об операционной системе.освоены, например, программы с графическим интерфейсом обычно ориентированы на события и являются многопоточными, но CLI обычно являются последовательными и однопоточными.
Если вы знакомы с C и C ++, я предлагаю использовать Qt SDK, который довольно прост в использованииПодробная справочная система и имеет интегрированные среды разработки практически для любых целей.
Поскольку программирование в графическом пользовательском интерфейсе очень зависит от платформы, книги по общему языку С не говорят об этом.