Actualiser les clés DragHeight & DragWidth

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
devauto
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 17 févr. 2016 10:36
Status : Hors ligne

Actualiser les clés DragHeight & DragWidth

#1

Message par devauto »

Bonjour à tous!

Je cherche à limiter le déplacement de fichiers "accidentels" dans les fenêtres FileSelectFolder() & FileSaveDialog().
Ne trouvant aucun paramètre propre à ces fonctions je me suis tourné vers la base de registre pour modifier les clés suivantes :

- HKEY_CURRENT_USER\Control Panel\Desktop\DragHeight
- HKEY_CURRENT_USER\Control Panel\Desktop\DragWidth

J'aimerai modifier ces clés à l'ouverture et à la fermeture des fenêtres FileSelectFolder() & FileSaveDialog().
J'arrive à modifier les clés mais, hormis en redémarrant l'ordinateur, je ne trouve pas de solution pour rafraichir instantanément les paramètres utilisateurs.

Code : Tout sélectionner

#RequireAdmin
#include <MsgBoxConstants.au3>
#include <WinAPI.au3>
#include <WinAPIsysinfoConstants.au3>
#include <WindowsConstants.au3>

global $dragHeight, $dragWidth

readDrag("Valeurs initiales")

RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "DragHeight", "REG_SZ", switchDrag($dragHeight))
_WinAPI_SystemParametersInfo($SPI_SETDRAGHEIGHT, 0)
RegWrite("HKEY_CURRENT_USER\Control Panel\Desktop", "DragWidth", "REG_SZ", switchDrag($dragWidth))
_WinAPI_SystemParametersInfo($SPI_SETDRAGWIDTH, 0)

;force user update
$func="UpdatePerUserSystemParameters"
RunWait("rundll32 USER32.DLL," & $func)
sleep(500)

readDrag("Nouvelles valeurs")

Func readDrag($title)
	$dragHeight = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop", "DragHeight")
	$dragWidth = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop", "DragWidth")
	MsgBox($MB_SYSTEMMODAL, $title, "Height : " & $dragHeight & @LF & "Width : " & $dragWidth)
EndFunc

Func switchDrag($string)
	If $string == 4 Then Return 50
	Return 4
EndFunc
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: Actualiser les clés DragHeight & DragWidth  

#2

Message par jguinch »

Tu as essayé avec ça ?

Code : Tout sélectionner

 _WinAPI_SystemParametersInfo ( $SPI_SETDRAGWIDTH, 0, 0, $SPIF_UPDATEINIFILE)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
devauto
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 17 févr. 2016 10:36
Status : Hors ligne

[R] Actualiser les clés DragHeight & DragWidth

#3

Message par devauto »

Parfait !
C'est exactement ce que je cherchais !

Même plus besoin de RegWrite()

Code : Tout sélectionner

_WinAPI_SystemParametersInfo($SPI_SETDRAGWIDTH, 1000, 0, $SPIF_UPDATEINIFILE)
Merci !
Répondre