DragDropConfirm

Prevent Accidental Drag Drop Move in Windows!

*UPDATE 2015-05-23: The project has been renamed to DragDropConfirm. New features:

  • You can now customize the text by adding registry entries.
  • Potential support for customizable language localization.
  • Read more about these in the advanced instructions

*Update 2014-11-23: The issues people were having with “The specified module could not be found” should be resolved.

Download:

DragDropConfirm_installer

IMPORTANT: Uninstall the previous version before installing if you already have it installed.

Description:

If you have ever worked in a Windows environment where many users shared files on a server, you have probably seen it happen where a folder or file is suddenly gone, only to be discovered in some other folder (often a sibling folder). This is usually due to an accident that is very easy to do: press slightly too hard on the mouse button while moving the cursor over the windows explorer window, causing an accidental drag and drop move event with no confirmation.

So… this is a simple shell extension for Windows to create that confirmation. It is essentially a “fork” of Microsoft’s CppShellExtDragDropHandler example.

hold_up_dialog

The DragDropInterceptor dialog presented upon a drag and drop move in Windows Explorer.

You can see the trick behind how this works from the second screenshot. This is the actual menu taking place behind the scenes when you left-click drag and drop. To see this menu in Windows Explorer, just use right-click when dragging instead. When you click OK, the menu will be unmodified from the original Windows Explorer list, with Move here as default. If you click Cancel, it will show the modified menu with Don’t move added and set as default.

dont_move_item

The list presented by Windows Explorer upon right-click drag and drop, modified by DragDropInterceptor.

 

See the code and a detailed explanation of how it works on github. You can post a bug report there too, if you find any.

Read about advanced usage in the advanced instructions.

79 thoughts on “DragDropConfirm

  1. This software is great and solved a lot of “quick finger” users from screwing up shares. Especially when they share is also linked to a cloud system.

    My question: is there something similar for Deletion and renaming?
    I am getting users that accidentally delete or even rename a huge folder and then gets synced to the cloud causing big issues.
    The current pop up for deletion and renaming is always confirm. the one thing I like about dragdrop is that the default is on cancel. So the user has to be aware of their actions to click confirm before hand.
    This is not the case for delete or rename. I quick double return/enter key and its confirmed. I need to avoid that. Any input would be fine. Thanks!

  2. Installed on Dell 64-Bit Windows 10 Professional and the Left Mouse Button Still works as Before with No Interruptions on Moves. However, Now the Right Mouse Move is Intercepted with the Hold Up There Dialog and Then Follows with the Windows Dialog of Move Here, etc. I Thought This Was to Interrupt the LEFT Mouse Moves? Reboot didn’t help. If you don’t have an Easy Solution, Do you Know of Another Program as I Badly Need this Feature? Thanks!

  3. Thanks for this article. I’d also like to convey that it can always be hard if you find yourself in school and starting out to initiate a long history of credit. There are many college students who are only trying to live and have long or good credit history can often be a difficult thing to have. ggbecdbbfgec

  4. Installed on windows 10. Worked perfect. I am continually finding that folders disappear. Drag and drop is great when intended and a pain when when it operates on its own.
    Thank you

  5. GPO deployment to Win7 Pro computers using silent install option was only partially successful, but manually installed and software works great. THANKS

  6. Server 2012 R2:
    installed.
    registered dll’s
    created entry’s in HKEY_LOCAL_MACHINE\SOFTWARE\DragDropConfirm
    created entry’s in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DragDropConfirm (folder & install_dir existed)

    No error. nothing showing up. what did i do wrong ?

  7. This is so much what I am looking for. And it runs perfectly on our English versions of Windows 7. But I have a few German Win 7 machines. The installer runs throiugh, no error (all dll’s rtegistered), but there is then no change in the behaviour. Folders can be moved around with no confimation dialogue showing up.
    Would it need some work-around to get it working on German versions of Win 7?

    • Yes, I must reply to myself. I didn’t go fully through the advanced instructions.

      So, should you think that this is not working on your NON-ENGLISH WINDOWS 7 -> go and read the ‘ADVANCED INSTRUCTIONS’ carefully and you’ll be happy!

  8. Ok, the tool works perfectly with win7 64bit also with 32bit applications and also in non-english versions; so I apologize for my previous rants, due to my bad english skills I hadn’t understood correctly the instructions! Infinite thanks to this great coder!

  9. Hi,
    Thanks for this great tool which work perfectly .
    For information,please find the change I hae to do on a PC with french W7 32 and another with french w7 64 to make it work.
    On the PC W7 32 bit I only did the change given by Nicolas under the directory [HKEY_LOCAL_MACHINE\SOFTWARE\DragDropConfirm] created after install.
    Note that the directory DragDropConfirm was not created under [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node and I did not do any change there.
    On the PC W7 64 bit I did the change given by Nicolas under the directory [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DragDropConfirm created after install.
    Note that the directory DragDropConfirm was not created under [HKEY_LOCAL_MACHINE\SOFTWARE
    But after that the tool did not work.
    To make the program work, I had to create the directory DragDropConfirm under [HKEY_LOCAL_MACHINE\SOFTWARE\ and do the change under the created HKEY_LOCAL_MACHINE\SOFTWARE\DragDropConfirm directory as on the 32 bit system.
    sorry for my english

  10. Hi broken-e,

    thanks for this great tool – very good work.
    I have the same question like jt:
    Is it possible to not affect the right mouse button ?
    If i drag with the right mousebutton the message still appears and the orig. Windows message followed.

    thanks

  11. HELP!! I need so much this utility!!.

    on a win7 64bit italian system, the installer simply doesn’t work: it still drops and no popups appear

    so I copied the 32 bit DLL in sysWoW64 folder and the 64bit DLL in system32 folder

    When I try to register the 32bit DLL with sysWoW64/regsvr32.exe, the message “The module DDC32 may not compatible with the version of Windows that you’re running. Check if the module is compatible with an x86 (32-bit) or x64 (64-bit) version of regsvr32.exe”

    and the same goes when I try to register the 64bit DLL with system32/regsvr32.exe

    I can donate if someone helps me please!!

  12. Hello,
    sounds like the perfect tool – however I experience the same issues as others before. Installation runs through without any error, but nothing changes in the drag&drop behaviour. I know the culprit is my german Win7 Enterprise installation, but I don´t know enough about registering dll´s and so on to get it running. Would anyone mind to post a step-by-step instruction?
    Thanks,
    Martin

    • martin in theory it is very simple, give it a try and find if this works for you: not for me, because of a windows message error when I try to register (see my post above about my italian win7 64bit system):

      – download the 32 and 64 bit DLL from https://github.com/broken-e/DragDropConfirm

      – copy the 32bit DLL in windows/syswow64 folder and the 64bit DLL in windows/system32 folder

      this is weird but that is

      then in administrator account, open a command prompt (type CMD in start field) and type

      %windir%\System32\regsvr32.exe %windir%\System32\DragDropConfirm_64.dll

      %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\DragDropConfirm_32.dll

      this should be working (not for me): please try and tell me

      • dear orsobubu,

        registration of the dlls worked with a slight variation of your commands:
        %windir%\System32\regsvr32.exe DragDropConfirm_64.dll
        %windir%\SysWoW64\regsvr32.exe SysWoW64\DragDropConfirm_32.dll

        At least Windows tells me that dll registration was successful. HOWEVER, it still drops and no popups appear.

        Any further suggestions?

        Martin

        • Martin, thx for the information, your syntax didn’t work for me neither, same error message, probably I have other problems on top of that. I think we shouldn’t hope in this solution anymore, seems e-broken has no time to dedicate to localized versions. I can’t believe someone in the world ever came out with a trick to this incredible Windows decades-long shortcoming, and also the lacking of a system to track and log all the operations made with files is astonishing. Did you make a research on kickstarter or something like that if some projects do exist? In case, how about heading one you and me? Since dragndrop confirm is opensource I believe, do you think the project could build upon the existing code? which procedure to undergone to obtain a permission from e-broken?

  13. Is this supposed to work on Server 2012 R2? I’m trying to test it on an RDS server and it doesn’t appear to be working at all. I may be missing something, but I added the 64-bit and 32-bit reg entries.

    Any ideas?

  14. Hi!
    Great utility you have here! It works very well in our organization where we want to prevent people from accidentally moving a folder on our network.
    Do you happen to know if there’s a similar utility available for MacOS? We have a few users that do not use Windows and would like to implement the same functionality but I haven’t been able to find anything online so far. Any help would be greatly appreciated.

    Best regards,
    Will

  15. Love this. I’m a pretty noob programmer and have no experience with this kind of thing. In your experience, how difficult would it be to modify the code so that the right-click is not affected, only left? Is the event handler the same for both right and left click and therefore must be all or nothing, or is it possible to leave the right click alone and only target the left? Thanks!

  16. Hi,

    Installed DDC on a 32 bit Win 2008 RDS Server (not R2). I can’t seem to get it to work. Is there anything I need to do to activate the application?

    I have added the Registry Entries, because after the application was installed they didn’t exist. The registry DDC key existed, but none of the Strings. I registered the DLL using regsvr32. What else needs to be done?

    Any help will be most appreciated….

    • Hi James,

      The installer should take care of everything including registering the DLL, and you will only need to add registry values if you need to customize the text, or if your Windows version is not in English.

      You might try deleting the ItemText reg value and set ShowDefaultText to 1, then try a move and see if it opens a dialog showing the default text. Then re-create the ItemText value and set its data to that string displayed.

      Let me know how it goes since I don’t believe it’s been confirmed to work or not on your specific OS version yet.

      • Hi,

        Thanks for getting back to me.

        You’re a God. Once done the setting showed &Move Here. I have stuffed it up by inserting &Move here. Lower case “h”. I didn’t realise it was case sensitive…

        So it does work on Win 2008. Awesome piece of software.

        Thanks for all your help.

        • Hi,

          I have just discovered that you have to press OK 3 times before the folder or file will be moved. How can I adjust that?

          Thaks

  17. Due to the way it works now it supports other languages, but on a per computer basis. That means that it doesn’t work for multi-user environments. Would it be possible to for example change it to a list of possibilities (Itemtext1, 2, 3,…,n) or to have it look in HKCU instead of HKLM (the second option being less ideal, as this would mean the interface language would have to be predefined, with the first option it would be possible to just configure all installed languages)?

    Thanks in advance.

  18. You, good sir, are a freaking legend.

    Works like a charm… Just wish I had it loaded on all the machines here BEFORE someone accentually moved/cancelled/tried-to-undo/windows-got-confused-and-deleted our entire company data folder from the NAS… but that’s what backups are for, I guess >.<

  19. Now the software runs perfectly on the french version of Win7 x64
    Thank you so much for the improvements !!

    Later on, if you want to propose REG files to make the installation faster, here is my version for french win7 :
    ——————————-
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\DragDropConfirm]
    “AskTitle”=”Confirmation Déplacement”
    “AskDescription”=”Voulez-vous déplacer le(s) fichier(s) / dossier(s)”
    “ItemText”=”&Déplacer ici”

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DragDropConfirm]
    “AskTitle”=”Confirmation Déplacement”
    “AskDescription”=”Voulez-vous déplacer le(s) fichier(s) / dossier(s)”
    “ItemText”=”&Déplacer ici”
    ——————————-

    That was worth the wait !!
    Thanks again

  20. First of all thank you for this nice little software.

    We are experiencing the same behaviour as Wout describes. Some of our users are working on a Dutch version of Windows 7 pro (64-bit) and the pop-up is not appearing. (installed and regsvr32.exe both 32-bit and 64-bit .dll’s)

    Are you familiar with a workaround?

  21. Brilliant :)

    Im useing it on our 2008 R2 Terminal servers, the users love it.
    There is just a little problem, we have serveral laptop witch are non english, and the installer runs fine, but there is no prompt. It works on all the english laptops, anyone one else has noticed this, and maybe have a fix.

    Thanks

    • Same issue again : install without problem on my French computer, but no prompt after a drag’n’drop. I guess the menus are tested in English and doesn’t match with the French menus.
      I am not able to write in C++ but i offer my help for any translation to make this program function on other platform.
      In french win 7, the menus on right-clik are :
      – Copier ici
      – Déplacer ici
      – Créer les raccourcis ici

      sorry for my bad english.

  22. Thanks for creating this, this is such a simple solution to a very large problem in large enterprises. Would it be possible to get a copy of this with something like “Confirm” in the title bar rather that “Hold Up there.” I would love to distribute this to all of our desktops, but with that title bar, it looks like the PC’s been hacked.

    • +1 for an option to change the title from “Hold Up There”. It would be great to have it look like a typical system message. That aside, great application!

    • For the silent install try /S instead of /s. This worked perfectly for me on a Win7x64 machine. And again, make sure it is run as an administrator to avoid the UAC menu.

  23. Thanks !!!

    Ran into this issue today again with a client, amazing that MS did not address this in the server environment given loads of people have had the experience (and not only end-users !).

    I tried with Windows 7 64 , that worked, also tried with Word (32bit) in Save as dialog, that still would allow the move.
    Added the 32 bit DLL and registered the DLL and voilo , no more headaches caused by accidental drag of folders.
    (Sorry Advil and other painkillers, I don’t need you anymore !!!)

    Again thanks !

    John

    • Can anyone please explain step by step noob style, how to add “the 32 bit DLL and registered the DLL” to make Drag Drop Interceptor work in all Win 8+ 64 bit menus, like mentioned above?

      BTW, Drag Drop Interceptor popup query sometimes appears behind other windows which results in the halt of certain operations until that query is answered. A combination of minimizing windows and or ALT TAB will locate the issue, but it can be tedious.

      Also, anyone suggest an add on for Windows that memorizes say, the last 10+ drag/drop operations. Hovering over Windows Explorer Quick Access Toolbar “un/re do arrows” only shows the last operation.

      I find it hard to believe how often Windows is lacking such seemingly basic and necessary features. Feel free to list any other highly useful tweaks. Baffling how something like DDI is not built into Windows after so many years of complaints.

      Thank you

      • Hi,

        We’re using ‘DragDropConfirm’ in a windows Production environment and it’s really helped eliminate accidental lost directories on the filers. However, we have the same behaviour of the notification window popping behind other application windows, which is confusing for some users who have several open applications.

        Do you know if there is a way of enforcing DragDropConfirm’s behavior to be the top most window when an alert pop’s up?

        thanks

        darcy

  24. DragDropInterceptor v1.0 (downloaded on 23 Nov 2014) didn’t work at all (error: “The specified module could not be found”). But v1.0.0.1 (also 23 Nov 2014) works fine. Thanks !

    I’m allergic to “installers”, so I copied DragDropInterceptor_64.dll (downloaded from GitHub) to the System32 folder, & registered the DLL. For reference, I'm using Win 7 SP1 64-bit.

    Besides Win Explorer folders & files, DDI also intercepts images dragged (deliberately, over several inches) from an online webpage to an open folder, although I think DDI is rather unnecessary for this scenario.

    Now if only DDI (or similar) works within the bookmarks directory of all browsers ...

    • Just to feedback that as tested in Win 7 SP 1 (64 bit), the latest DragDropInterceptor v1.0.0.1 does not intercept file & folder drag actions carried out (accidentally or deliberately) in the 'Save As' dialog that opens Win Explorer. DDI’s confirmation/ cancel prompt is not being triggered.

      Possible to make DDI work in 'Save As' dialog as well ?

      • Hi PJ, based on previous comments it seems that certain native explorer windows like the Save As window are in 32-bit, and so registering the 32-bit DLL along with the 64-bit one will likely help your situation.

        • @broken-e — Ok, copied DragDropInterceptor_32.dll to the SysWow64 folder, & succeeded in registering this 32-bit DLL.

          Now DDI is working in the 'Save As' dialogs that I've tried so far, although DDI initially froze the 'Save As' dialog before the confirmation/cancel popup appeared. Thanks !

  25. Thank You , Thank You, Thank You. I lost a whole days work yesterday. I thought I had accidently permanently deleted the folder. Found it today where I had accidently moved it. To late though, I had already spent most of the day re-doing it. Your program installed on my Windows 8.1 instantly and works like a charm.

  26. Hello,

    I have a problem with windows7 pro x64. I readed all here but nothig helped.
    I installed Visual C++ Redistributable Packages for Visual Studio 2013
    registered the 32.dll and the 64.dll in the system32 and the syswow64 folder.
    I read all the problems and answers but nothing helped.

    Anybody more solutions.

  27. Hi,

    Firstly – I’m really glad I’ve found this utility, it’s exactly what we need for one of our clients.

    Would I be able to add a “me too!” to the following requests:
    – Including source and destination in the dialog
    – Changing the title of the dialog to make it look more like the OS – so either something like “Folder Move” or just “Confirm”

    I’d love to have our users be prompted with “Are you sure you want to move items from to ?”, as not only will that catch accidental drag-and-drops, but it will also let people who are intending to move items check they are dropping them in the correct place.

  28. Hi, I tried installing the tool on Windows 8.1 Italian x64, as Administrator, but it doesn’t work.
    It didn’t change anything and I can still move folders and file without any popup message.
    How could I fix it?

    Thanks

  29. This works great in Windows Explorer, any idea of what it would take to get it to work in file dialogs?

    For example the office dialogs look like they make use of the shell, they have what looks like the same underlying context menus.

    • I found that this was a 32/64 bit issue. On 64 bit machines both the 32 and 64 bit versions of the dll should be installed. Nw that I have both version registered it works in file dialogs of 32 bit applications as well as 64 bit application.

  30. Hi, we’ll go for tests on w8.1 64bits platforms. Do you think, it would be possible to have a customisable dialog (.ini file read at startup)?
    – including source and destination
    – Titles and messages in various languages for ex: “Hold up there / Bitte beachten / Attention….”
    Thanks in advance
    MH

  31. First of all THANK YOU! I’ve only installed this on my machine but it seems to work perfectly. Is there any way to run the install silently? I would like to push this out to ~50 users.

    • James, Yes, simply use the /S option in the command line (case sensitive!)
      e.g.
      c:\download\dragdropinterceptor_installer.exe /S

      Be sure to run it with admin privileges or it will prompt for UAC.

    • Duke, this should work in your situation. When you install it on the server you will be connecting to through remote desktop, it will work for all users on that server. It basically just needs to be installed on the machine that is actually running the explorer.exe process that the users are using to drag and drop.

      Alternatively, a simple file server that users access from different machines through Windows file sharing will also work, but just not quite as directly – in this case it will need to be installed on the local machine that is running explorer to browse the remote files.

  32. Hi – this was just what we were looking for. It works fine on my Win 8.1 PC but on one of our Win7 machines it appears to register ok but doesn’t actually pop up when we try to move files. On another Win7 PC we get the same message as David Smet (albeit the 64 bit version). I have extracted it, tried it in that folder. I’ve moved it to another folder and run the command in an elevated cmd prompt manually but we get the same result each time. Thanks for your help (and for providing the code!)

    • Hm, that’s unfortunate. I don’t have a lot of machines to test this on. I wonder if there’s an issue with the registry, as it puts stuff there. All the code that has to do with registering the dll is original from the Microsoft example project. I’ve not changed any code other than the FileDragDropExt.cpp file and the dllmain to set a different GUID (intentionally changed, at least). I’m not sure where to go other than maybe trying to redownload in case it was corrupt somehow..

      • Download and install Visual C++ Redistributable Packages for Visual Studio 2013, and it should work.

        I’ve been looking for something like this for years. You have my eternal gratitude.

  33. Could you help me deploying the DragDropInterceptor tool? When trying to register following error occurs.

    [Window Title]
    RegSvr32

    [Content]
    The module “DragDropInterceptor_32.dll” failed to load.

    Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.

    The specified module could not be found.

      • Thanks a lot

        I’m implementing this in our acceptance environment. If all goes well we will implement this in production soon for +- 6000 users

        I’ve been looking for a solution like this for a long time. I hope you will continue to develop on this tool, it solves a real shortcoming on all windows OS . This causes a lot of headaches at enterprise companies.

      • Hello,

        We have installed DragDropInterceptor in a XenApp environment, but have noticed that it’s not working when the user’s display language is not set to English. Is there a way around this (besides changing the display language, obviously)? It wouldn’t necessarily have to display the popup in that different language, but it would be great if it would still give the popup when the user’s display language isn’t English.

        Thanks.

        • Same here. Tool works fine is Windows 2008 R2 is English. When Dutch language is installed the tool doesn’t work anymore. Tried also with the DLL files in Syswow64 and system32. Doesn’t work either. What am I missing?

          • I was too soon with my comment. I didn’t look at the advanced instructions and now it’s working. Great tool.

Leave a Reply

Your email address will not be published. Required fields are marked *