Is it possible to get shell properties for an item not in the shell namespace? Is it possible to get shell properties for an item not in the shell namespace? powershell powershell

Is it possible to get shell properties for an item not in the shell namespace?


(Have some experience in Property Store handlers) How I see a solution:

  1. Get PropertyStore handler CLSID for your file extension. You should use 2 regkeys key:

    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.yourext
    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\SystemPropertyHandlers
  2. Create two objects with CoCreateInstance

  3. If you have 2 object you can combine them into single object with PSCreateMultiplexPropertyStore

  4. Query for IInitializeWithStream (also you can try to query IPersistStream).

If the PropertyStore object supports IInitializeWithStream/IPersistStream: you are lucky - just init your object and query the properties you need. If does not - you still have (dirty) variant to create temporary file and then use IPersistFile.