Embora possa não haver uma maneira de fazer isso por meio de uma GUI, há uma maneira de fazer isso programaticamente.
A função que você deseja é SystemParametersInfo . Você pode ler sobre isso no MSDN, se quiser ter capacidade total (pode acessar um número absurdo de configurações), mas estará interessado em SPI_SETDOCKMOVING
e SPI_SETSNAPSIZING
.
SPI_SETDOCKMOVING
alterna a capacidade de encaixar janelas arrastando-as pelas barras de título. Você pode desativá-lo assim:
SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
SPI_SETSNAPSIZING
alterna a capacidade de encaixar janelas dimensionando-as usando as bordas superior e inferior. Você pode desativá-lo assim:
SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
Para ativar novamente, basta fazer a mesma chamada com um número diferente de zero para o segundo argumento. Para que as alterações não persistam após uma reinicialização, remova o sinalizador SPIF_UPDATEINIFILE do último argumento.
Para garantir que você mantenha os atalhos do teclado, não desative o AeroSnap no Painel de controle ou no Registro .
O diligente pode perceber que os argumentos fornecidos aqui não são o que você espera que sejam da documentação. Especificamente, o pvParam e o uiParams são alternados. Esta é a única maneira que encontrei para fazer essa função funcionar na minha máquina (executando o Windows 8.1), por isso suspeito de um erro nos documentos.