For most controls (edit fileds, dropdowns, etc) the caret doesn't have a "color". It inverts the color of the pixels behind it - white becomes black, blue becomes yellow, etc. Check out the second paragraph here:
About Carets (Windows)
Technically it is possible for a control to choose a custom color or shape, but I have not seen any that do it. Most controls simply set the width and height of the blinking rectangle.