Non Stick Mouse in corners of Windows 10

Use this application to disable or bypass the sticky corners in Windows 10 for dual displays or multiple monitors. What it does is hop the mouse over the sticking corners, as well as the screen edges when moving windows. Thus it allows the dragging of windows through screens without your mouse getting hijacked by the Snap Assist.

The Hot Corners and Snap Assist still work, but now only when you want them to.

Latest Version released on 10th of July, 2018.

Here is the actual application itself if you wish to save it directly and run it whenever you wish: –
Click to download Non-stick mouse
VirusTotal (clean)
MD5: EB2899F6866C407B0BDDE70063EFEC8A
SHA-1: DF44AE2A28620807FF1F3902BD1D9822D290F57C
SHA256: 222F7389734E5192A20F06FDA7AEBBB57A473CFFEAF2B14C686DA2C9B443B829

I’ve been asked for an installer so it can run automatically on boot – so here it is, an installer: –
Click to download NSM setup
VirusTotal (13 false positives – AVs hate inno installers)
MD5: 3876ED70087EB059EC4F32431DBD3DDB
SHA-1: 4D6797B770EF411BCE99D93B51E091521411E0F4
SHA256: B7DEEDF79A7CA8963E4B6ADB4021542197F7D407343A493898B1C4A412EEEF8F

And for your peace of mind the full source code written in Delphi, 3 files on GitHub.

This application does not read or write to any drive, it does not access the registry or connect to the Internet.
I am only sharing this as I took the time to write it and I notice many people are annoyed by these Microsoft “features”.

It hides its window – so terminate it use the Task Manager. It is not designed to be overly clever, it does not have a notification tray icon.
If you want it to run on start up make a shortcut to where you have saved it in the start up folder, or use the installer!

If it is does not work at all please let me know and I will try to fix it when I have time.
It won’t fire when the active/topmost window belongs to a process which is running with privileges elevated higher than what NonStickMouse itself is running with.

Subsequently I have also developed a debug version: –
This has a User Interface showing the screen dimensions and offsets of each monitor, the mouse tracking, and the values it was at when the last hop was fired. This application will also hop the mouse so for complete accuracy please terminate NonStickMouse.exe when using it.

You may choose to compile this yourself for your own sense of security – in which case follow the instructions here: –

Developed by Jonathan Barton

As has been requested on numerous occasions, here is a donate button!

Just put whatever you like in the Price per item box 🙂

Disclaimer: Jonathan Barton is not responsible for any damage or presumption of damage caused by this application. All information here is to be considered advice of which you may chose to act or not act on; this includes compiling the application yourself. As one guy said, you received free, give free – this application cannot be repackaged and resold for commercial gain. You may contact me if you see an opportunity for this. Consider this paragraph as the End User License Agreement – which can be changed at any time without notice.


Non Stick Mouse in corners of Windows 10 — 428 Comments

  1. Hi Jonathan! Thanks for this amazing app!

    Unfortunately i cannot download the installer. When I try opening the link, it says “The connection was reset”.

    Tried same in Firefox and Internet explorer, but no luck.

    Any was to download it?



  2. Maybe I am using it wrong but I installed the software and verified it was running but my mouse still hangs when moving between the bottom and top monitor. I have 4 monitors that are stacked, 2 on the bottom, 2 on top. Moving left to right or right to left between monitors works fine. When I move up to the top monitors or down from the top to the bottom I have to move the mouse very fast in order for the mouse to move down. If not it gets stuck at the bottom edge or top edge.

    • The first guess is that the monitors aren’t aligned. They may look like they are in the Display Options, but that screen hides unaligned monitors by design (which is a flaw by Microsoft). So to test that’s not it first please download the debug version: –

      And post a screenshot of what it shows. It has the actual screen coordinates and offsets which help identify these kinds of issues.

  3. Thank you for the app, Jonathan. It’s a great help. Also thanks for your reply on I’m reposting my comment here, as you suggested.

    However, it appears to me that it only fixes the problem for screens that are side-by-side. If one screen is above the other, the problem seems to persist.

    • Hey Jim 🙂

      Ok, so, first thing I suggest is getting the debug version: –

      Run that and post a screenshot of it. Also terminate nsm.exe itself and see if the debug version will execute the hop, I would suspect it won’t, but at least if it does it shows the values on the screen which triggered it. In which case, it would be good to get a screenshot of that too.

      If you’re not sure on how to get screenshots just write back here and I’ll explain the process.


  4. Hey there!
    First off I would like to thank you for developing this.
    At the moment I’m having a hard time using the “Show desktop button” in the bottom right corner. I can press it but I have to really slow down and aim for it, maybe you could implement a config file so one could change the sensitivity of each corner hop.

    • Howdy!

      I don’t suppose you want to hear that there is a keyboard shortcut for that, Windows Key + D. Closely related is Windows Key + M for minimise all, but it won’t restore when pressed again.

      To harp on the subject, you can create your own shortcut for this command. In whatever folder you want it, do right-click -> New -> Short Cut and enter “%windir%\explorer.exe shell:::{3080F90D-D7AD-11D9-BD98-0000947B0257}” and call it “Show Desktop” or whatever. You can then go to the Properties of that file, change it’s icon if desired (like C:\Windows\explorer.exe, 4th icon down) – and if it’s on the Desktop or anywhere in the Start Menu you can put a hot-key on it which will also work.

      But, to answer your question, NSM is rather brainless – the approach is: –
      where was the mouse 30ms ago, where is it now, and based on that trajectory where will it be in 30ms?
      if that is going to be another screen, then hop the mouse to that position

      So it is unaware even if its near a corner, it doesn’t know the screen sizes, or which is the Primary display, or more importantly which display has the Start button & task bar on it (not necessarily the primary), and, is the task bar horizontal or vertical.

      I can hard-code it though, so if you say if mouse’s X & Y coordinates are in this range, don’t hop. I am happy to code that if for you, if you give me what those numbers are (you can use the debug version to show mouse positioning) I’ll build a special exe just for you 🙂

      The amount of work to make this an option in the default app isn’t worth the overhead it would require. And, I’m really trying to show Microsoft just how simple a fix it would be to remove this bug – the smaller the code the greater the slap!

      Let me know if you want your very own NSM and I’ll get right on it!!


      • Hey!

        Thanks for the quick response. Cheers for the Win + D tip I really appreciate it. I think its just my muscle memory from always doing on windows 7.

        It would be amazing if you were able to make that for me, unless its too bothersome. I recorded the debug window with the corner of my two monitors. Do you need any additional information? (

        Many thanks,

        P.S. Microsoft sucks for implementing this “Feature” in the first place!!!

        • lol, I looked at your webpage, awesome! I clicked the screen so many times one of my cores spazzed out!! I hadn’t seen particles.js before, good fun 🙂

          Anyway, back on topic, get your toy here: –
 (note this is case sensitive)

          Now I can’t test it as my paltry monitors can’t hit the resolutions you use!! But, it should work. Here is the change employed, as modded from the source provided on github. In unit uNSM.pas, in function CheckForMove:boolean; straight after the begin //Begin CheckForMove are these lines of code: –

          //The Cameron Special - don't jump the mouse past the Show Desktop bar
          if (pt.X>1914) and (pt.X<1920) and (pt.Y>1038) and (pt.Y<1080) then

          And let me know if it doesn't behave, or I have misunderstood the intent for this change.

          • Wow thank you so much it works perfectly as intended!

            I appreciate your compliments, the particles are great fun. It’s a simple template but I cant remember where I got it from!

            I must thank you again, you really have gone above and beyond, your next coffee is on me!


        • Replying here as my site won’t let me nest comments 5 deep – I suppose I should change that!

          Thanks for the coffee!! Much appreciated 🙂

          I’m just glad I got it running for you – have a great day!

  5. Thanks for this. I have my laptop to the right of and much lower than my second monitor, with a narrow area in the top left of the laptop and bottom right of the second monitor for cursor transit. The horrible Windows feature was driving me insane, because my monitor arrangement was working well for me besides that.

    Regarding the false positives on the installer, people could download the program executable and then create a shortcut in the Startup folder in the Start Menu if they want it to start automatically but don’t want to use the installer. I personally would figure out what’s causing the false positives and wouldn’t host the installer unless I had made sure there weren’t any.

    “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp” <- this is the folder to copy the shortcut into.

    I miss the old Start Menu from before Windows 8… right-clicking on a folder actually opened a normal Explorer context menu.

    • I hear that!

      I use ClassicShell and it supports those older features, navigatable start menu with context menu (right click) for Open here on the sub menus.

      Personally though, I have NSM running in the Task Scheduler on the Start Up trigger, as this allows me to run it as administrator with the credentials preloaded – that way NSM still works if I’m running higher level admin applications.

      Cheers & thanks for writing 🙂

  6. It works wonders and snap still works it’s amazing how Microsoft can’t fix this major bug after years. It’s a bug not a feature, just like how being able to bend a ipad is not a feature.

    • Ah, but by all accounts, can’t you recharge the iPad battery in the microwave? And yes, I predict this bug will be fixed the same time unlimited resolution hologram displays are common – that would be appropriate to their development life cycle 🙂
      (Oh good, now my eyes can drift from one hologram display to the next without getting frozen in the corner.)

    • If you’re running 2 different resolutions between the monitors it’s possible that its not getting stuck, there’s just no vertical “real-estate” to move into. In that, if your left monitor is say 1280 x 1024 and the right is 1600 x 900 then the mouse will be at position 1280,1024 in the bottom right corner, move it right and it’s looking for position 1281 x 1024 – but, the right monitor only goes to 900, not 1024, so it cannot go there.

      If this is not the situation in your case please download the debug version and post a screenshot of it running so we can see the numbers.


  7. Hello Jonathan,
    Thanks for developing NSM. My monitors are driving me nuts. The cursor snags between upper and lower monitors although sideways isn’t a problem. I tried the debugged version and the standard NSM program and neither worked on my set up. Maybe I am not using them correctly. Are there any workarounds or something else to try?
    Best regards,

    • Hi Tom,

      For me to [hopefully] correctly diagnose the problem I would need to see the screen the debug version shows. With that I can see the hops its making (or not making) as well as the resolution and placement of all the monitors.

      The easiest way to do this is run the debug version, and when it is top-most hold down the ALT key and press the Print Screen [Prt Scr] button in top right corner of your keyboard, 3rd from the right. This has now put the image of the running app into the clipboard. Go to the imgur site, at and on the home page of the website you hold CTRL and tap V for paste. It’ll create a post of the screenshot, and moving the mouse over to the top right corner of the image created a Copy Link button appears. Click that, and paste the contents to a post here – like mine I just did is

      If you prefer to email me directly that’s find too, at

      We’ll get this fixed for you 🙂


  8. OMG THANK YOU!!! This was driving me nuts, not being able to drag windows over my two monitors like I’m used to from WIN7 and getting stuck in the corner every time was completely unacceptable. In what way is that a feature?? I tried soooo many things that didn’t work at all, but this, this worked straight away so easy haha.

    Anyways you’re a legend.

    Thanks a mil.

  9. Oh wait never mind I spoke too soon. This works for a few minutes after my computer starts, then it stops working and its back to endless fustration town. Feck.

  10. You sir are a genius! <3
    Your comment " If you like I can code it so when you slide along the top of monitor 1," Genius. Haha
    When I saw it, it looked to me like the guy before you said what MS had said about positioning..hahahah

  11. Hi,

    I’m using NSMDebug.exe because the others get trigger by the anti-virus software at work, the debug work fine, is there’s a way to auto-hide the form at launch like a command line arguments ? I would like to put it in my startup folder, but would like to automaticly hide.


  12. Hi,

    I tried it but it’s not hidden like when I click the “hide” button, i still see the window in the taskbar and I see the control button : minimize, maximize, close and then red JB icon in the left bottom corner, like a minimize child form that the parent is not visible.
    I have to click on any the control button or the in the taksbar to make it disapear completly.


    • Did that separate app work any better? I know it’s a pain to then have 2 apps in start-up, but was just wondering if it worked (as it uses a different means to hide the app). I’ll play with that NSMDebug hide, see if I can make it hide better – but its 12:30am, so that’s for tomorrow (or at least later today!) and I’ll post back if I come up with anything.

    • Ok, me again 🙂

      So I’ve really gone to town over this one. I got the latest version of Delphi, which is now free:

      And I now use 3 different techniques (tricks) to hide the app compiled with Delphi Tokyo. The download path is the same:

      There’s also a little feature you can use, if you just rename the .exe to include the word “hide” itself, that’ll still trigger the action – so it doesn’t need to be a command-line parameter, just call it NSMDebugHide.exe or even just hide.exe! Note you’ll have to use the task manager to kill it as can’t be made visible after it’s hidden.

      Checksum information
      Name: NSMDebug.exe
      Size: 2501632 bytes (2 MB)

      CRC32: D95FC623

      CRC64: CCB7A7130DDDC2E0

      SHA256: 9F7939FBE774E0CA14733E0963781795DCAE54323BB3FDF5B9496AA9A4E8A2E2

      SHA1: 3B877331FE012510F68B601B709121B6A9CCF74C

      BLAKE2sp: 000BD3CB27308851A4AD1CA5FC10D0A5D004B7C4A013FB290A4635FDD0605A75



  13. Work great now, everything is hidden! I got a little warning from Windows 10 the first time, but no virus detected from the antivirus software!


  14. Hi, I was very excited to see this, however it doesn’t work for me. I am running win 10 LTSC 2019. I tried running it as an administrator, still doesn’t work.

    • Glad it helped 🙂
      The new DPI approach MS took stuffed this app up for a while too, until I rewrote it with a newer compiler.
      You’d think that while MS was rewriting their resolution approach, they could have spared the 5 minutes it would take to fix this bug too…

  15. This is exactly what I was looking for. Using two 27″ monitors but one 4k and one 1440p and the mouse catching on the edge was driving me nuts.


  16. Wow, such a world of difference. At first I didn’t think it worked and figured those goons at MS broke it, but after reading the comments it got me thinking, turns out I was one of the people with misaligned monitors. By about 4px!

    Now my screen is well oiled and that nasty mouse locking nonsense is gone. Thank you for being awesome 🙂

    • 🙂
      It’s not your fault though, the user interface for the screen alignment in the display property settings actually shows the monitors aligned – I mean you can zoom in x10 and they are still pixel perfect. But they are not. A look in the registry or at an app like my debug one shows the misalignment. You’re being told it’s all good, but it isn’t. I’m glad you found this for yourself – it makes me wonder if I should slip an alignment check in my NSM as a kindness to check for a Microsoft induced misalignment!


      P.s. Even perfectly aligned monitors can still suffer from the sticky corners – I only mention this misalignment as it’s the first port of call.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.