Though there may not be a way to do this through a GUI there is a way to accomplish it programmatically.
The function you want is SystemParametersInfo. You can read about it on MSDN if you want it's full capability (it's can access an absurd number of settings) but you'll be interested in SPI_SETDOCKMOVING
and SPI_SETSNAPSIZING
.
SPI_SETDOCKMOVING
toggles the ability to snap windows by dragging them by their title bars. You can turn it off like this:
SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
SPI_SETSNAPSIZING
toggles the ability to snap windows by sizing them using their top and bottom borders. You can turn it off like this:
SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
To turn either back on just make the same call with a non-zero number for the second argument. To make the changes not persist after a reboot remove the SPIF_UPDATEINIFILE flag from the last argument.
To ensure you keep your keyboard shortcuts do not to turn AeroSnap off in the Control Panel or registry.
The diligent may notice that the arguments supplied here are not what you might expect them to be from the documentation. Specifically the pvParam and uiParams are switched. This is the only way I have found to make this function work on my machine (running Windows 8.1) so I suspect an error in the docs.
I've been searching for the same solution and I believe it can't be done natively. How hard is it for Microsoft to let users customize these settings easily? – user – 2013-06-29T06:23:06.247
1Exactly too many trivial things are not possible. Why? Because MS has no idea about usability. Their latest xbox one shows it the best. And they expect people to pay absurd amounts for their software. – Joan Venge – 2013-06-29T11:25:30.357