This is pretty complex stuff, as long as you don't mean you just want to unmute "Microphone " on the Volume Control (which if you DO want to do, maybe someone else could find an API function to deal with that).
Your best bet is probably the freeware FMOD sound system. It's a DLL and set of Modules, although it's for VB6. =/
Also, it's quite complex to use, especially overly-complex if you just want to output microphone to the speakers.
(i.e. you'd need to initalize a system, create a blank sound, start recording live sound from the microphone to it, wait a bit for it to build up some data in the buffer, then create a new channel, and start playing the recording sound on this new channel. -_-; This would also inevitably build up a bit of a delay between you making a sound and it playing back, probably undesirable for karaoke, although it may be acceptable if the delay's really short)
But sorry, that's the only way I know (and I'm not advanced enough with FMOD yet to be able to explain how to do actually all this in code! - Although it does come with some examples which might help)
If simply unmuting the microphone automatically, and adjusting its volume, is all you need, I expect there is an API available to let you do that, although I'm not someone who knows much at all about APIs. =/