I asked how to do this on EE some time ago, here is the code I got to do it :
Here you go, this function reads the current acceleration value from the registry and returns it. I wrote this code to be usable both in VB and VBScript, since I didn't have VB6 installed on the machine I wrote this on. To 'set' the Acceleration setting, just use a SetDWORDValue call instead of GetDWORDValue near the end of the function (or use DeleteValue if you want to set "full acceleration", since 0 is the default).
EE Thread is here :
Const HKLM = &H80000002
' Reads current acceleration setting value from the registry.
' Returns 0-5 on success, or -1 if an error occurred reading
' the Device information.
GetAccelerationSetting = -1
Dim objReg, strDevice, intAccelValue, intErr
Dim strKey, strValueName
Dim objRegExp, colMatches, objMatch
' using WMI's StdRegProv to access the registry (making this code usable
' in both VB and VBS)
On Error Resume Next
Set objReg = GetObject("winmgmts:\\.\root\default:StdRegProv")
If (Err.Number) Then Exit Function
On Error Goto 0
strKey = "HARDWARE\DEVICEMAP\VIDEO"
strValueName = "\Device\Video0"
intErr = objReg.GetStringValue(HKLM, strKey, strValueName, strDevice)
If (intErr <> 0) Then Exit Function
strKey = ""
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.IgnoreCase = True
objRegExp.Pattern = "^\\REGISTRY\\Machine\\(.*)$"
Set colMatches = objRegExp.Execute(strDevice)
For Each objMatch In colMatches
strKey = objMatch.SubMatches(0)
If (strKey = "") Then Exit Function
strValue = "Acceleration.Level"
intErr = objReg.GetDWORDValue(HKLM, strKey, strValue, intAccelValue)
If (intErr = 0) Then
GetAccelerationSetting = intAccelValue
GetAccelerationSetting = 0
Only thing with this code is that you would after doing this have to some how have to re initliziaze the display driver or something to that effect , short of that reboot it as per the comment here from EE:
Note that if you modify the code to SET the acceleration value, you will probably have to reboot the computer to get the changes to take effect. Most of the time, updating the registry directly does not force windows to reinitialize whatever component you're changing (the way updating this setting through the Control Panel does).