Vista Experience

mcstar5104
2006-12-01
2013-04-29
  • mcstar5104
    mcstar5104
    2006-12-01

    Surprisingly, I've had a lot of success with different applications working in Vista.  I've had it installed for a week, and even though I did a dual boot install, I've haven't had to drop back to XP yet.  Some though (including some programs I've written :) ) are not working so well, so I'm sending a message to the writers to give feedback.  FolderSize is one of my favorite utility type programs, and here's my experience with it in Vista.

    First, the installation went fine.  The service appears to be running.
    There is an icon for FolderSize in the Control panel.  Opening the control panel icon shows 3 tabs Display (with the Format selector), Service (allows you to stop and start the service), and About (with a mug shot of Brian Oraas in the mountains).  The only thing that appears to be missing, is the column itself.  When I right-click on the explorer's columns in grid mode and click More... I don't see the Folder Size column in the list.  Perhaps there is a new way to register those columns in Vista.  Does anyone know for sure on this forum yet?

    Thanks.
    Michael Schwab
    mcstar@gmail.com

     
    • mcstar5104
      mcstar5104
      2006-12-04

      I was thinking, if someone will tell me how the interface between the foldersize service and the ui works, I could start working on making it vista compatible... any ideas?

       
      • Jordan Bowness
        Jordan Bowness
        2007-01-21

        This may be of some interest, taken from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_extending/extensionhandlers/shell_ext.asp

        Registering Shell Extension Handlers

        A Shell extension handler object must be registered before the Shell can use it. This section is a general discussion of how to register a Shell extension handler.

        Any time you create or change a Shell extension handler, it is important to notify the system that you have made a change with SHChangeNotify, specifying the SHCNE_ASSOCCHANGED event. If you do not call SHChangeNotify, the change might not be recognized until the system is rebooted.

        There are some additional factors that apply to Microsoft Windows NT and Windows 2000 systems. For details, see Registering Shell Extension Handlers on Windows NT and Windows 2000 Systems.

        As with all COM objects, you must create a GUID for the handler using a tool such as UUIDGEN.exe. Create a key under HKEY_CLASSES_ROOT\CLSID whose name is the string form of the GUID. Because Shell extension handlers are in-process servers, you must create an InProcServer32 key under the GUID key with the default value set to the path of the handler's DLL. Use the Apartment threading model.

        Any time the Shell takes an action that can involve a Shell extension handler, it checks the appropriate registry key. The key under which an extension handler is registered thus controls when it will be called. For instance, it is a common practice to have a shortcut menu handler called when the Shell displays a shortcut menu for a member of a file class. In this case, the handler must be registered under the file class's ProgID key.
        Handler Names

        To enable a Shell extension handler, create a subkey with the handler subkey name (see below) under the ShellEx subkey of either the ProgID (for file classes) or the Shell object type name (for Predefined Shell Objects).

        For example, if you wanted to register a shortcut menu extension handler for MyProgram.1, you would begin by creating the following subkey.

        HKEY_CLASSES_ROOT

        MyProgram.1

        ShellEx

        ContextMenuHandlers

        For the following handlers, create a subkey underneath the "Handler Subkey name" key whose name is the string version of the CLSID of the Shell extension. Multiple extensions can be registered under the handler subkey name key by creating multiple subkeys. (For backward compatibility with Windows 95, you can also create a key under the hndler subkey name key with a descriptive name and store the string version of the CLSID of the Shell extension as the default value of the key. This older method of registering Shell extensions is deprecated but is described here for completeness.)
        Handler    Interface    Handler Subkey Name
        Column provider handler    IColumnProvider    ColumnHandlers
        Shortcut menu handler    IContextMenu    ContextMenuHandlers
        Copyhook handler    ICopyHook    CopyHookHandlers
        Drag-and-drop handler    IContextMenu    DragDropHandlers
        Property sheet handler    IShellPropSheetExt    PropertySheetHandlers

        For the following handlers, the default value of the "Handler Subkey Name" key is the string version of the CLSID of the Shell extension. Only one extension can be registered for these handlers.
        Handler    Interface    Handler Subkey Name
        Data handler    IDataObject    DataHandler
        Drop handler    IDropTarget    DropHandler
        Icon handler    IExtractIconA/W    IconHandler
        Thumbnail image handler    IThumbnailProvider    {E357FCCD-A995-4576-B01F-234630154E96}
        Infotip handler    IQueryInfo    {00021500-0000-0000-C000-000000000046}
        Shell link (ANSI )    IShellLinkA    {000214EE-0000-0000-C000-000000000046}
        Shell link (UNICODE)    IShellLinkW    {000214F9-0000-0000-C000-000000000046}
        Structured storage    IStorage    {0000000B-0000-0000-C000-000000000046}
        Metadata    IPropertySetStorage    PropertyHandler

         
    • Mark R Johnson
      Mark R Johnson
      2007-04-01

      If you look at http://msdn2.microsoft.com/en-us/library/ms646697.aspx it says:

          "Note:  Support for IColumnProvider has been removed from Windows Vista. The new property system should be used in its place. See Property System for conceptual materials that explain the use of the new system."

      Take a look at: http://msdn2.microsoft.com/en-us/library/aa969360.aspx which has details on the Property system.  I am not sure how much overhauling will be required to implement this.