Given that pretty much all modern versions of Windows will now reclaim memory, GDI objects, file handles etc, should we really be manually releasing application-wide stuff at exit any more?
One problem I do see is that I understand some buggy graphics card drivers can fail to release video memory for textures, vbs etc unless they are manually released by the calling application. I'd assume this problem could also apply to other plug-in hardware - soundcard drivers, printer drivers etc.
But for purely OS-based resources, is the "let the kernel do it" approach now better than manually releasing them yourselves?
Rhetorical question, but would be interested to know what people think.
Add to that the fact that you'd need to write the code if you're running on Win9x where it's possible to leak handles and cause explorer to do Weird Things, and it just seems pointless to me.
It's not like it'll take 30 seconds to shutdown your app; the author says it took 20 minutes to reboot his system - that really says it all. If the PC is that slow, it doesn't matter what you do really.