In my application I can programmatically open explorer and select a file using the following code:
void BrowseToFile(LPCTSTR filename) { CString strArgs;
Try the '/n' option. This will, however, open a new folder - perhaps already opened. But, at least, the file you specify is selected.
/n,/select,
SHOpenFolderAndSelectItems always fails in my case and I can't figure out why. Btw, you must call CoInitialize/CoInitializeEx before calling this one.