Schwarz kam immer raus weil es sich wahrscheinlich um eine Systemfarbe handelte (deshalb lieber ColorToRGB verwenden, die beachtet das).
Bei Systemfarben ist das höchste Bit gesetzt und die Lower Bits geben die Nummer an. Mit dieser Nummer kann man via GetSysColor bzw. GetSystemColor (eine wird schon stimmen
) den eigentlichen Farbwert abholen.
vorgehen siehe verhergehende Post von mir