Based on a patch by Louis Lenders. Although MSDN claims this should be in shell32, it really is in shdocvw.