Les API, elles s'appellent directement, il me semble (je suis comme Mr Jourdain, j'utilise les API sans me questionner).
BOOL WINAPI SetSysColors(
int cElements, // number of elements to change
CONST INT *lpaElements, // address of array of elements
CONST COLORREF *lpaRgbValues // address of array of RGB values
);
La valeur de retour ne semblerait pas être un long (mais ça gène pas trop car null si succès, non nul si échec de la fonction).
Il semble qu'il faudrait ajouter
#include <winuser.h>
// Utilisation
BOOL retval;
retval = SetSysColors(1, COLOR_GRAYTEXT, RGB(0, 0, 0));
retval = SetSysColors(1, COLOR_3DSHADOW, RGB(50, 50, 50));
retval = SetSysColors(1, COLOR_3DLIGHT, RGB(150, 150, 150));
retval = SetSysColors(1, COLOR_3DHILIGHT, RGB(240, 240, 240));
Si les constantes ne sont pas définies par Windows
#define COLOR_3DHILIGHT 20
#define COLOR_3DLIGHT 21
#define COLOR_3DSHADOW 16
#define COLOR_GRAYTEXT 17