See the SPI API. I have the class in my API.vb file:
Code:Public Class SPI <System.Runtime.InteropServices.DllImport("User32.dll", EntryPoint:="SystemParametersInfo")> _ Private Shared Function SystemParametersInfoGet(ByVal uAction As SPI.GetActions, ByVal uiParam As UInt32, ByRef pvParam As IntPtr, ByVal fuWinIni As UInt32) As Boolean End Function <System.Runtime.InteropServices.DllImport("User32.dll", EntryPoint:="SystemParametersInfo")> _ Private Shared Function SystemParametersInfoSet(ByVal uAction As SPI.SetActions, ByVal uiParam As UInt32, ByVal pvParam As IntPtr, ByVal fuWinIni As UInt32) As Boolean End Function Public Enum GetActions As UInt32 ICONHORIZONTALSPACING = &HD ICONVERTICALSPACING = &H18 BEEP = &H1 MOUSE = &H3 BORDER = &H5 KEYBOARDSPEED = &HA SCREENSAVETIMEOUT = &HE SCREENSAVEACTIVE = &H10 GRIDGRANULARITY = &H12 KEYBOARDDELAY = &H16 ICONTITLEWRAP = &H19 MENUDROPALIGNMENT = &H1B ICONTITLELOGFONT = &H1F FASTTASKSWITCH = &H23 DRAGFULLWINDOWS = &H26 NONCLIENTMETRICS = &H29 MINIMIZEDMETRICS = &H2B ICONMETRICS = &H2D WORKAREA = &H30 HIGHCONTRAST = &H42 KEYBOARDPREF = &H44 SCREENREADER = &H46 ANIMATION = &H48 FONTSMOOTHING = &H4A LOWPOWERTIMEOUT = &H4F POWEROFFTIMEOUT = &H50 LOWPOWERACTIVE = &H53 POWEROFFACTIVE = &H54 DEFAULTINPUTLANG = &H59 WINDOWSEXTENSION = &H5C MOUSETRAILS = &H5E FILTERKEYS = &H32 TOGGLEKEYS = &H34 MOUSEKEYS = &H36 SHOWSOUNDS = &H38 STICKYKEYS = &H3A ACCESSTIMEOUT = &H3C SERIALKEYS = &H3E SOUNDSENTRY = &H40 SNAPTODEFBUTTON = &H5F MOUSEHOVERWIDTH = &H62 MOUSEHOVERHEIGHT = &H64 MOUSEHOVERTIME = &H66 WHEELSCROLLLINES = &H68 MENUSHOWDELAY = &H6A WHEELSCROLLCHARS = &H6C SCREENSAVERRUNNING = &H72 MOUSESPEED = &H70 DESKWALLPAPER = &H73 AUDIODESCRIPTION = &H74 SCREENSAVESECURE = &H76 SHOWIMEUI = &H6E ACTIVEWINDOWTRACKING = &H1000 MENUANIMATION = &H1002 COMBOBOXANIMATION = &H1004 LISTBOXSMOOTHSCROLLING = &H1006 GRADIENTCAPTIONS = &H1008 KEYBOARDCUES = &H100A MENUUNDERLINES = KEYBOARDCUES ACTIVEWNDTRKZORDER = &H100C HOTTRACKING = &H100E MENUFADE = &H1012 SELECTIONFADE = &H1014 TOOLTIPANIMATION = &H1016 TOOLTIPFADE = &H1018 CURSORSHADOW = &H101A MOUSESONAR = &H101C MOUSECLICKLOCK = &H101E MOUSEVANISH = &H1020 FLATMENU = &H1022 DROPSHADOW = &H1024 BLOCKSENDINPUTRESETS = &H1026 UIEFFECTS = &H103E DISABLEOVERLAPPEDCONTENT = &H1040 CLIENTAREAANIMATION = &H1042 CLEARTYPE = &H1048 SPEECHRECOGNITION = &H104A FOREGROUNDLOCKTIMEOUT = &H2000 ACTIVEWNDTRKTIMEOUT = &H2002 FOREGROUNDFLASHCOUNT = &H2004 CARETWIDTH = &H2006 MOUSECLICKLOCKTIME = &H2008 FONTSMOOTHINGTYPE = &H200A FONTSMOOTHINGCONTRAST = &H200C FOCUSBORDERWIDTH = &H200E FOCUSBORDERHEIGHT = &H2010 FONTSMOOTHINGORIENTATION = &H2012 MINIMUMHITRADIUS = &H2014 MESSAGEDURATION = &H2016 End Enum Public Enum SetActions As UInt32 BEEP = &H2 MOUSE = &H4 BORDER = &H6 KEYBOARDSPEED = &HB SCREENSAVETIMEOUT = &HF SCREENSAVEACTIVE = &H11 GRIDGRANULARITY = &H13 DESKWALLPAPER = &H14 DESKPATTERN = &H15 KEYBOARDDELAY = &H17 ICONTITLEWRAP = &H1A MENUDROPALIGNMENT = &H1C DOUBLECLKWIDTH = &H1D DOUBLECLKHEIGHT = &H1E DOUBLECLICKTIME = &H20 MOUSEBUTTONSWAP = &H21 ICONTITLELOGFONT = &H22 FASTTASKSWITCH = &H24 DRAGFULLWINDOWS = &H25 NONCLIENTMETRICS = &H2A MINIMIZEDMETRICS = &H2C ICONMETRICS = &H2E WORKAREA = &H2F PENWINDOWS = &H31 HIGHCONTRAST = &H43 KEYBOARDPREF = &H45 SCREENREADER = &H47 ANIMATION = &H49 FONTSMOOTHING = &H4B DRAGWIDTH = &H4C DRAGHEIGHT = &H4D HANDHELD = &H4E LOWPOWERTIMEOUT = &H51 POWEROFFTIMEOUT = &H52 LOWPOWERACTIVE = &H55 POWEROFFACTIVE = &H56 CURSORS = &H57 ICONS = &H58 DEFAULTINPUTLANG = &H5A LANGTOGGLE = &H5B MOUSETRAILS = &H5D SCREENSAVERRUNNING = &H61 FILTERKEYS = &H33 TOGGLEKEYS = &H35 MOUSEKEYS = &H37 SHOWSOUNDS = &H39 STICKYKEYS = &H3B ACCESSTIMEOUT = &H3D SERIALKEYS = &H3F SOUNDSENTRY = &H41 SNAPTODEFBUTTON = &H60 MOUSEHOVERWIDTH = &H63 MOUSEHOVERHEIGHT = &H65 MOUSEHOVERTIME = &H67 WHEELSCROLLLINES = &H69 MENUSHOWDELAY = &H6B WHEELSCROLLCHARS = &H6D SHOWIMEUI = &H6F MOUSESPEED = &H71 AUDIODESCRIPTION = &H75 SCREENSAVESECURE = &H77 ACTIVEWINDOWTRACKING = &H1001 MENUANIMATION = &H1003 COMBOBOXANIMATION = &H1005 LISTBOXSMOOTHSCROLLING = &H1007 GRADIENTCAPTIONS = &H1009 KEYBOARDCUES = &H100B MENUUNDERLINES = KEYBOARDCUES ACTIVEWNDTRKZORDER = &H100D HOTTRACKING = &H100F MENUFADE = &H1013 SELECTIONFADE = &H1015 TOOLTIPANIMATION = &H1017 TOOLTIPFADE = &H1019 CURSORSHADOW = &H101B MOUSESONAR = &H101D MOUSECLICKLOCK = &H101F MOUSEVANISH = &H1021 FLATMENU = &H1023 DROPSHADOW = &H1025 BLOCKSENDINPUTRESETS = &H1027 UIEFFECTS = &H103F DISABLEOVERLAPPEDCONTENT = &H1041 CLIENTAREAANIMATION = &H1043 CLEARTYPE = &H1049 SPEECHRECOGNITION = &H104B FOREGROUNDLOCKTIMEOUT = &H2001 ACTIVEWNDTRKTIMEOUT = &H2003 FOREGROUNDFLASHCOUNT = &H2005 CARETWIDTH = &H2007 MOUSECLICKLOCKTIME = &H2009 FONTSMOOTHINGTYPE = &H200B FONTSMOOTHINGCONTRAST = &H200D FOCUSBORDERWIDTH = &H200F FOCUSBORDERHEIGHT = &H2011 FONTSMOOTHINGORIENTATION = &H2013 MINIMUMHITRADIUS = &H2015 MESSAGEDURATION = &H2017 End Enum Public Enum FontSmoothing As Int32 STANDARD = &H1 CLEARTYPE = &H2 DOCKING = &H8000 End Enum Public Enum FontSmoothingOrientation As Int32 BGR = &H0 RGB = &H1 End Enum Public Shared Function SetParameter(ByVal parameter As SetActions, ByVal uparam As UInteger, ByVal pvParam As IntPtr) As Boolean Return SystemParametersInfoSet(parameter, uparam, pvParam, 1) End Function Public Shared Function SetParameter(ByVal parameter As SetActions, ByVal pvParam As IntPtr) As Boolean Return SetParameter(parameter, 0, pvParam) End Function Public Shared Function GetParameter(ByVal parameter As GetActions) As IntPtr SystemParametersInfoGet(parameter, 0, GetParameter, 0) End Function End ClassThis was .NET, for vb6 you will need something similar. All you need is the constant (SETMOUSESPEED/GETMOUSESPEED) plus the API definition:Code:Dim mousespeed As Integer = SPI.GetParameter(SPI.GetActions.MOUSESPEED) SPI.SetParameter(SPI.SetActions.MOUSESPEED, 17)
Code:<System.Runtime.InteropServices.DllImport("User32.dll", EntryPoint:="SystemParametersInfo")> _ Private Shared Function SystemParametersInfoGet(ByVal uAction As UInt32, ByVal uiParam As UInt32, ByRef pvParam As IntPtr, ByVal fuWinIni As UInt32) As Boolean End Function <System.Runtime.InteropServices.DllImport("User32.dll", EntryPoint:="SystemParametersInfo")> _ Private Shared Function SystemParametersInfoSet(ByVal uAction As UInt32, ByVal uiParam As UInt32, ByVal pvParam As IntPtr, ByVal fuWinIni As UInt32) As Boolean End FunctionCode:const SETMOUSESPEED = &H71 #define SETMOUSESPEED = 0x0071 const GETMOUSESPEED = &H70 #define GETMOUSESPEED = 0x0070Code:SystemParametersInfoSet(SETMOUSESPEED, 0, [speed], 1)The last parameter (fuWinIni) is a boolean integer that sets whether or not the OS needs to do an update. For set operations this is usually 1 (true) and 0 (false) for get operations.Code:Dim speed As Integer SystemParametersInfoGet(GETMOUSESPEED, 0, speed, 0)




Reply With Quote