X
Unter Windows solltest du festlegen, was deine älteste unterstützte Plattform ist. Das kann bei VC2010 sogar noch Windows 2000 sein. Dann musst du die entsprechenden Konstanten definieren (z.B.: _WIN32_WINNT), bevor du "windows.h" und andere einbindest.
Jede neuere Windows Version beinhaltet neue Funktionen in Kernel32, User32 und Gdi32. Wenn du also eine API verwendest, die erst ab Vista verfügbar ist, wird dein Prozess unter WinXP oder Win2K nicht starten.
Nutzt du hingegen nur Funktionen, die es schon zu Win2K-Zeiten gab, solltest du durchgehend bis Windows 8.1 kompatibel bleiben, weil MS Gott sei Dank darauf achtet (Ok, einige wenige Ausnahmen bestätigen die Regel ).
Du kannst auch den noch weiter reduzierten API-Satz von Windows CE nutzen und auf alles andere verzichten, dann bist du zu CE und Win32 kompatibel ... aber wer braucht das heute noch ...
Gdi32 hat aber meines Wissens seit Win2K keine Erweiterungen mehr erhalten, Kernel32 hingegen schon.
PS: Wenn dein Projekt ohne Gdi32 kompiliert und linkt brauchst du es auch nicht.