void ClearSystemPalette(void)

{

//*** A dummy palette setup

struct

{

WORD Version;

WORD NumberOfEntries;

PALETTEENTRY aEntries[256];

} Palette =

{

0x300,

256

};

HPALETTE ScreenPalette = 0;

HDC ScreenDC;

int Counter;

//*** Reset everything in the system palette to black

for(Counter = 0; Counter < 256; Counter++)

{

Palette.aEntries[Counter].peRed = 0;

Palette.aEntries[Counter].peGreen = 0;

Palette.aEntries[Counter].peBlue = 0;

Palette.aEntries[Counter].peFlags = PC_NOCOLLAPSE;

}

//*** Create, select, realize, deselect, and delete the palette

ScreenDC = GetDC(NULL);

ScreenPalette = CreatePalette((LOGPALETTE *)&Palette);

if (ScreenPalette)

{

ScreenPalette = SelectPalette(ScreenDC,ScreenPalette,FALSE);

RealizePalette(ScreenDC);

ScreenPalette = SelectPalette(ScreenDC,ScreenPalette,FALSE);

DeleteObject(ScreenPalette);

}

ReleaseDC(NULL, ScreenDC);

}