I highly doubt that you will be able to know what websites are being visited. Different browsers access it very very differently. IE will go through microsoft's API, Safari and Firefox will use curl (I think), and chrome has it's own custom way. They also don't share any proxy information, so you can't redirect info through a sniffer.

As for programs booting up and shutting down, can't you just create a daemon that checks the process list every couple of seconds? Then just do a
Code:
system("<windows equivalent of `ps`>");