Differences

This shows you the differences between the selected revisions of the page.

2006-05-31 2008-05-23
swap sftp and scp (martin) term commander/explorer interface (martin)
Line 1: Line 1:
====== Drag&drop Shell Extension ====== ====== Drag&drop Shell Extension ======
-WinSCP drag&drop shell extension is extension of the operation system (or rather Windows Explorer). It allows you to drag files from WinSCP directly to any folder (Explorer window). Without it WinSCP needs to download the files first to temporary directory and only after that Explorer transfers the files to their destination. While this happens transparently, it has several drawbacks.+WinSCP drag&drop shell extension is extension of the operation system (or rather Windows Explorer). It allows you to drag files from WinSCP directly to any folder (Windows Explorer window). Without it WinSCP needs to download the files first to temporary directory and only after that Windows Explorer transfers the files to their destination. While this happens transparently, it has several drawbacks.
-Note that with or without the extension you can always transfer files directly by dragging them between local and remote panels of [[ui_commander|Norton Commander interface]].+Note that with or without the extension you can always transfer files directly by dragging them between local and remote panels of [[ui_commander|Commander interface]].
===== Installation and Set up ===== ===== Installation and Set up =====
Line 29: Line 29:
Obviously even Windows Explorer (or any other target application, like WinZip) cannot download files from any possible source (particularly it does not know SFTP/SCP). Obviously even Windows Explorer (or any other target application, like WinZip) cannot download files from any possible source (particularly it does not know SFTP/SCP).
-When the extension is not installed, WinSCP uses trick to allow drag&drop downloads. It tells Explorer that the files are in temporary folder (from where Explorer knows how to get the files) and a moment before the Explorer starts to copy files from there, WinSCP downloads the files there. +When the extension is not installed, WinSCP uses trick to allow drag&drop downloads. It tells Windows Explorer that the files are in temporary folder (from where Windows Explorer knows how to get the files) and a moment before the Windows Explorer starts to copy files from there, WinSCP downloads the files there.
-To allow direct drag&drop downloads, the shell extension was developed. It misuses Windows Explorer CopyHook's. [[&url(mscopyhook)|CopyHook]] is COM object (DLL library) that is called by Windows Explorer whenever directory (not file) is transferred within file system. When you drag anything from WinSCP, it creates empty dummy folder in temporary directory and pretends that you as user drag that directory. Once your drop it to Windows Explorer, it calls the CopyHook's (including the WinSCP shell extension), telling it what and where was dragged. This way WinSCP knows the actual destination. It cancels the drag&drop operation, so the dummy directory is not copied by Explorer and transfers your actual selection to now-known destination.+To allow direct drag&drop downloads, the shell extension was developed. It misuses Windows Explorer CopyHook's. [[&url(mscopyhook)|CopyHook]] is COM object (DLL library) that is called by Windows Explorer whenever directory (not file) is transferred within file system. When you drag anything from WinSCP, it creates empty dummy folder in temporary directory and pretends that you as user drag that directory. Once your drop it to Windows Explorer, it calls the CopyHook's (including the WinSCP shell extension), telling it what and where was dragged. This way WinSCP knows the actual destination. It cancels the drag&drop operation, so the dummy directory is not copied by Windows Explorer and transfers your actual selection to now-known destination.
This on the other hand explains why with the extension you cannot drag files to any other application except for the Windows Explorer. No other application would call the CopyHook. This on the other hand explains why with the extension you cannot drag files to any other application except for the Windows Explorer. No other application would call the CopyHook.

Last modified: by martin