Importing IActiveDesktop seems fairly straight forward. As the docs state, all you really need is "shlobj.h" right?
Nope, it'll still give you compilation errors!
You also need to make sure that you add in "wininet.h" prior to including "shlobj.h". That way "_WININET_" is defined, making IActiveDesktop available to your project.