Is there a way to change the colors used by plain Win32 menus (background, text, and highlight) for a single process, *without* using SetSysColors?

(SetSysColors does a global change, which is bad, and if you crash or forget to set the colors back with SetSysColors again before exiting, they will not be restored until you logout.)