Open dinhngtu opened 1 month ago
I'm sorry for replying late because I'm busy on other coding things.
For NanaZip.Modern, it may be simpler for integrating the shell extension than the NanaZip.Classic. But I need to refresh the NanaZip.ShellExtension implementation first before I merge this PR.
I prefer the solution without shell extensions because I don't want to make shell extension for NanaZip.Classic because it's designed for portable app scenarios.
Kenji Mouri
When trying to integrate copy hook into NanaZip.Modern, I ran into the issue that packaged shell extensions cannot run outside of package due to conditional ACEs (https://github.com/M2Team/NanaZip/issues/353#issuecomment-1868580641). That's why at the moment I've kept the extension external instead of building it into NanaZip.ShellExtension.
Fixes #353 and #371.
Provides fast drag-to-extract support for NanaZip FM. If the feature is enabled, dragging from the main window creates a directory with the name
{<COPYHOOK_GUID>}.<HWND>
. Directories with this name are intercepted by an external copy hook shell extension DragNotifier, which sends back a WM_COPYDATA message containing the destination drop path. Upon reception of WM_COPYDATA, NanaZip extracts selected files into the destination directory.Todo list:
Due to many factors being undecided, this PR will remain a draft for now. Feedback is welcome.