Known Folders Browser 1.0 (for Vista and Beyond)

Are you finding all the “special folders” in Windows Vista a bit overwhelming? Which are real folders and which are virtualized? Which are profile-specific and which are common to all users? Which are rooted and which are relative? I did too at first.

Previous versions of Windows included the concept of “special folders”. Each version of Windows published more of these special folders in terms of constant special item identifier list values, or CSIDLs for short. Functions are provided for getting and setting the folder given a CSIDL value. Managed code can access the subset of these known at the time that a particular version of the .NET Framework was written through the Environment.SpecialFolder enumeration. My Special Folders Browser tool allows you to visually browse the list of special folders known to the .NET Framework.

It has however become apparent that a better mechanism is required for managing the growing list of well-known folders and Microsoft has provided just such as mechanism in Windows Vista. Windows Vista introduces a new registry of known folders that can be enumerated and manipulated with much greater control. I had planned to write an article for my Windows Vista for Developers series on the Known Folders API but it just hasn’t seemed interesting enough to write about. Do let me know if this interests you and I may reconsider. I did however write a tool to visualize the known folders and simplify the management of these folders.

Known Folders Browser 1.0 visually displays the known folders on your computer and provides the following notable features:
  • Visualizes folder relationships by nesting relative folders beneath parent folders
  • Displays folder icons, tooltips and other localized information
  • Displays detailed folder properties (for developers)
  • Context menus with handy options
  • Commands for:
    • Opening in Explorer (or Command Window on Server Core)
    • Changing a folder’s path
    • Copying a folder’s path to the clipboard

  

Known Folders Browser 1.0 is provided in both x86 and x64 versions. The x86 build will also run on Windows x64 but you may prefer to run the x64 image natively, as I do. It’s also useful to run both versions since the known folders may point to different system folders depending on whether your application is x86 or x64 native.

KnownFoldersBrowser.exe (x86)

KnownFoldersBrowser.exe (x64)

Latest version: 1.0.2

This release has been tested with Windows Vista RC2 and Windows Server Longhorn.

 

Updated:

Version 1.0.2 adds support for opening virtual folders.


© 2006 Kenny Kerr

6 Comments

  • Very cool. Kenny, in case you were not aware the SDK comes with a sample that uses the KnownFolder manager and the ExplorerBrowser cotnrol (it intends to be a EB sample more than a KF sample). not as cool as your tool but something to check out.

    look here in the SDK samples.

    Samples\winui\Shell\AppPlatform\ExplorerBrowserControl

  • chrisg: Thanks for pointing it out. I didn’t know about the sample.

  • Hi Kenny,

    to answer your question. yes please, write an article about the folder/link/junction jungle! I really got in trouble with that stuff.
    My installer installed to C:\Programma\blabla and
    I recognized that even the link on the desktop has this path. The problem: my appliaction took this path to load a library and bang ... this path was not a real physical path and no DLL was found.
    So, it would be great to read something about this topic.

    TIA
    Mue :-)

  • 1.0.2 x86 version will not run on WinXP. error is "Proc Entry Point QueryFullProcessImageNameW could not be located in DLL Kernel32.dll"

    March 11 2007.

  • JohnG: I thought the post was clear on this: this tool is for managing the “special folders” on Windows Vista and beyond. That means Windows XP is not supported.

  • Martin: that sounds like a shell extension. Although they have shell item id’s they’re largely opaque and cannot be interrogated in a standard way like the special/known folders.

Comments have been disabled for this content.