How To Open an Instance of Windows Explorer in a System Folder (191656)



The information in this article applies to:

  • Microsoft Windows CE 2.0 for the Handheld PC

This article was previously published under Q191656

SUMMARY

You can enable your application to start an instance of Windows Explorer in a system folder, such as Control Panel or Recycle Bin, by passing the class ID of the folder as the filename in a call to ShellExecuteEx.

MORE INFORMATION

Under Windows CE, ShellExecuteEx does not support the SEE_MASK_IDLIST or SEE_MASK_INVOKEIDLIST flags. Therefore, you cannot use an LPITEMIDLIST that is obtained by calling SHGetSpecialFolderLocation to open Windows Explorer in a system folder.

Instead, use the following class ID of the system folder that you want to open when calling ShellExecuteEx:
   Control Panel - {000314FE-0000-0000-C000-000000000046}
   My Computer - {000214A0-0000-0000-C000-000000000046}
   Recycle Bin - {000214A1-0000-0000-C000-000000000046}
   Databases - {000214A4-0000-0000-C000-000000000046}
				
You can use the following function to open an instance of Windows Explorer in the Control Panel folder. Note that the CLSID must be enclosed in quotes.
   BOOL WINAPI OpenControlPanel ()
   {
      TCHAR szControlPanel[] = L"\"
                              {000314FE-0000-0000-C000-000000000046}\"";

      SHELLEXECUTEINFO sei = {0};
      sei.cbSize = sizeof (SHELLEXECUTEINFO);
      sei.lpVerb = L"Open";
      sei.lpFile = szControlPanel;
      sei.nShow = SW_SHOW;
      sei.hInstApp = hInstance;

      return ShellExecuteEx (&sei);
   }
				

Modification Type:MinorLast Reviewed:7/1/2004
Keywords:kbhowto KB191656