Search code examples
windowsshellwinapiwindows-shell

How WinRar let Windows explorer support drop a file on *.rar/*.zip/... type files?


I only known how to support drag item form my app to explorer; or drag item form explorer to my app. I want to know hot to make windows explorer support more file type, for example :when dorp a file on "xxx.mypackage" in explorer, my app run and package the file into "xxx.mypackage". thanks lot~~


Solution

  • You're looking for a Drop Handler shell extension.

    The drop handler lives inside a DLL, which has to be able to create a COM object that implements IPersistFile and IDropTarget. The DLL is registered under the filetype's ProgId key in the registry (look at HKEY_CLASSES_ROOT\CompressedFolder\ShellEx\DropHandler for an example of this).