Bien qu'il n'y ait pas de moyen de le faire via une interface graphique, il existe un moyen de le faire par programme.
La fonction que vous souhaitez est SystemParametersInfo . Vous pouvez lire à ce sujet sur MSDN si vous voulez qu'il soit complet (il peut accéder à un nombre absurde de paramètres) mais vous serez intéressé par SPI_SETDOCKMOVING
et SPI_SETSNAPSIZING
.
SPI_SETDOCKMOVING
bascule la possibilité d'aligner les fenêtres en les faisant glisser par leurs barres de titre. Vous pouvez le désactiver comme ceci:
SystemParametersInfo(SPI_SETDOCKMOVING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
SPI_SETSNAPSIZING
bascule la possibilité d'aligner les fenêtres en les dimensionnant à l'aide de leurs bordures supérieure et inférieure. Vous pouvez le désactiver comme ceci:
SystemParametersInfo(SPI_SETSNAPSIZING, 0, NULL, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE)
Pour réactiver l'un ou l'autre, effectuez le même appel avec un numéro différent de zéro pour le deuxième argument. Pour que les modifications ne persistent pas après un redémarrage, supprimez l'indicateur SPIF_UPDATEINIFILE du dernier argument.
Pour vous assurer de conserver vos raccourcis clavier, ne désactivez pas AeroSnap dans le Panneau de configuration ou le Registre .
Le diligent peut remarquer que les arguments fournis ici ne sont pas ce que vous attendez d'eux de la documentation. Plus précisément, le pvParam et uiParams sont commutés. C'est le seul moyen que j'ai trouvé pour faire fonctionner cette fonction sur ma machine (exécutant Windows 8.1), donc je soupçonne une erreur dans les documents.