1 Reply Latest reply on Jun 7, 2016 5:55 AM by Mario Zahren

    What is the EPDM file explorer window COM interface? (or progID/GUID?)

    Steve Soeder

      I'm trying in vain to access the EPDM File Explorer objects using the windows shell.

      My main objective is to discover what files the user has selected, however there are many other reasons being able to manipulate the EPDM window through shell would be useful.

       

      I'm using VB.Net, and what I've found so far is that iterating through the Shell32.Windows Collection does expose the EPDM file explorer COM objects to me, however they have no interface implemented (see screenshot). As such, I'm unable to cast them to any shell interface object to be able to interact with them.

      I can interact with regular (read: Non-EDPM) windows file explorer objects just fine, it's the EPDM one's that are a problem.

       

      Does anyone know if there is any interface for these objects?

      When I examine the object at runtime it shows interfaces as none discovered....how can I interact with this sucker??O2y7pJl.png?1

       

      The other option would be to try to use "GetTypeByProgId" or "GetTYpeByGUID" but I'm having trouble determining which "Conisio" registry value refers to the explorer window.

      I tried the shell extender under HKEY_CLASSES_ROOT/shellex/ConisioFileViewer however when I use GetTypeByGUID and pass this GUID  under ImplementedInterfaces it only lists "System.Type()".

        • Re: What is the EPDM file explorer window COM interface? (or progID/GUID?)
          Mario Zahren

          Hi Steve,

          is this an option?

           

          //Array of selected files and folders
          int index = 0;
          int last = 0;
          index = Information.LBound(ppoData);
          last = Information.UBound(ppoData);

           

          while(index<=last)
          {     
          int folder1 = 0;

          int  file1 = 0;

          folder1 = ((EdmCmdData)ppoData.GetValue(index)).mlObjectID3;

          file1 =  ((EdmCmdData)ppoData.GetValue(index)).mlObjectID1;

           

          IEdmFolder5 folder = (IEdmFolder5)vault.GetObject(EdmObjectType.EdmObject_Folder, folder1);

          folder.DeleteFile(0, file1, true);

          index = index +1;

          }

           

          Mario