I have figured it out and thought I'd share. This works perfectly. I've included all the VB6 code and instructions of how to use it. Dreate a new module (no form is needed). Set the default startup item to Sub_Main(). Option Explicit Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _ (ByVal uAction As Long, _ ByVal uParam As Long, _ ByVal lpvParam As Any, _ ByVal fuWinIni As Long) As Long Private Declare Function SystemParametersInfoByLong Lib "user32" Alias "SystemParametersInfoA" _ (ByVal uAction As Long, _ ByVal uParam As Long, _ ByVal lpvParam As Long, _ ByVal fuWinIni As Long) As Long Private Enum enSystemParametersInfo ' SPI_NOMESSAGE = 0 '\\ To cope with Win95/WinNT differences! ' SPI_GETBEEP = 1 ' SPI_SETBEEP = 2 ' SPI_GETMOUSE = 3 ' SPI_SETMOUSE = 4 ' SPI_GETBORDER = 5 ' SPI_SETBORDER = 6 ' SPI_GETKEYBOARDSPEED = 10 ' SPI_SETKEYBOARDSPEED = 11 ' SPI_LANGDRIVER = 12 ' SPI_ICONHORIZONTALSPACING = 13 ' SPI_GETSCREENSAVETIMEOUT = 14 ' SPI_SETSCREENSAVETIMEOUT = 15 ' SPI_GETSCREENSAVEACTIVE = 16 ' SPI_SETSCREENSAVEACTIVE = 17 ' SPI_GETGRIDGRANULARITY = 18 ' SPI_SETGRIDGRANULARITY = 19 ' SPI_SETDESKPATTERN = 21 ' SPI_GETKEYBOARDDELAY = 22 ' SPI_SETKEYBOARDDELAY = 23 ' SPI_ICONVERTICALSPACING = 24 ' SPI_GETICONTITLEWRAP = 25 ' SPI_SETICONTITLEWRAP = 26 ' SPI_GETMENUDROPALIGNMENT = 27 ' SPI_SETMENUDROPALIGNMENT = 28 ' SPI_SETDOUBLECLKWIDTH = 29 ' SPI_SETDOUBLECLKHEIGHT = 30 ' SPI_GETICONTITLELOGFONT = 31 ' SPI_SETDOUBLECLICKTIME = 32 ' SPI_SETMOUSEBUTTONSWAP = 33 ' SPI_SETICONTITLELOGFONT = 34 ' SPI_GETFASTTASKSWITCH = 35 ' SPI_SETFASTTASKSWITCH = 36 ' SPI_GETDRAGFULLWINDOWS = 38 ' SPI_GETNONCLIENTMETRICS = 41 ' SPI_SETNONCLIENTMETRICS = 42 ' SPI_GETMINIMIZEDMETRICS = 43 ' SPI_SETMINIMIZEDMETRICS = 44 ' SPI_GETICONMETRICS = 45 ' SPI_SETICONMETRICS = 46 ' SPI_SETWORKAREA = 47 ' SPI_GETWORKAREA = 48 ' SPI_SETPENWINDOWS = 49 ' SPI_GETHIGHCONTRAST = 66 ' SPI_SETHIGHCONTRAST = 67 ' SPI_GETKEYBOARDPREF = 68 ' SPI_SETKEYBOARDPREF = 69 ' SPI_GETSCREENREADER = 70 ' SPI_SETSCREENREADER = 71 ' SPI_GETANIMATION = 72 ' SPI_SETANIMATION = 73 ' SPI_GETFONTSMOOTHING = 74 ' SPI_SETFONTSMOOTHING = 75 ' SPI_SETDRAGWIDTH = 76 ' SPI_SETDRAGHEIGHT = 77 ' SPI_SETHANDHELD = 78 ' SPI_GETLOWPOWERTIMEOUT = 79 ' SPI_GETPOWEROFFTIMEOUT = 80 ' SPI_SETLOWPOWERTIMEOUT = 81 ' SPI_SETPOWEROFFTIMEOUT = 82 ' SPI_GETLOWPOWERACTIVE = 83 ' SPI_GETPOWEROFFACTIVE = 84 ' SPI_SETLOWPOWERACTIVE = 85 ' SPI_SETPOWEROFFACTIVE = 86 ' SPI_SETCURSORS = 87 ' SPI_SETICONS = 88 ' SPI_GETDEFAULTINPUTLANG = 89 ' SPI_SETDEFAULTINPUTLANG = 90 ' SPI_SETLANGTOGGLE = 91 ' SPI_GETWINDOWSEXTENSION = 92 ' SPI_SETMOUSETRAILS = 93 ' SPI_GETMOUSETRAILS = 94 ' SPI_SETSCREENSAVERRUNNING = 97 ' SPI_GETFILTERKEYS = 50 ' SPI_SETFILTERKEYS = 51 ' SPI_GETTOGGLEKEYS = 52 ' SPI_SETTOGGLEKEYS = 53 ' SPI_GETMOUSEKEYS = 54 ' SPI_SETMOUSEKEYS = 55 ' SPI_GETSHOWSOUNDS = 56 ' SPI_SETSHOWSOUNDS = 57 ' SPI_GETSTICKYKEYS = 58 ' SPI_SETSTICKYKEYS = 59 ' SPI_GETACCESSTIMEOUT = 60 ' SPI_SETACCESSTIMEOUT = 61 ' SPI_GETSERIALKEYS = 62 ' SPI_SETSERIALKEYS = 63 ' SPI_GETSOUNDSENTRY = 64 ' SPI_SETSOUNDSENTRY = 65 ' SPI_GETMOUSEHOVERWIDTH = 98 ' SPI_SETMOUSEHOVERWIDTH = 99 ' SPI_GETMOUSEHOVERHEIGHT = 100 ' SPI_SETMOUSEHOVERHEIGHT = 101 ' SPI_GETMOUSEHOVERTIME = 102 ' SPI_SETMOUSEHOVERTIME = 103 ' SPI_GETWHEELSCROLLLINES = 104 ' SPI_SETWHEELSCROLLLINES = 105 ' SPI_GETSHOWIMEUI = 110 ' SPI_SETSHOWIMEUI = 111 ' SPI_GETMOUSESPEED = 112 ' SPI_SETMOUSESPEED = 113 ' SPI_GETSCREENSAVERRUNNING = 114 ' SPI_GETACTIVEWINDOWTRACKING = &H1000 ' SPI_SETACTIVEWINDOWTRACKING = &H1001 ' SPI_GETMENUANIMATION = &H1002 ' SPI_SETMENUANIMATION = &H1003 ' SPI_GETCOMBOBOXANIMATION = &H1004 ' SPI_SETCOMBOBOXANIMATION = &H1005 ' SPI_GETLISTBOXSMOOTHSCROLLING = &H1006 ' SPI_SETLISTBOXSMOOTHSCROLLING = &H1007 ' SPI_GETGRADIENTCAPTIONS = &H1008 ' SPI_SETGRADIENTCAPTIONS = &H1009 ' SPI_GETMENUUNDERLINES = &H100A ' SPI_SETMENUUNDERLINES = &H100B ' SPI_GETACTIVEWNDTRKZORDER = &H100C ' SPI_SETACTIVEWNDTRKZORDER = &H100D ' SPI_GETHOTTRACKING = &H100E ' SPI_SETHOTTRACKING = &H100F ' SPI_GETFOREGROUNDLOCKTIMEOUT = &H2000 ' SPI_SETFOREGROUNDLOCKTIMEOUT = &H2001 ' SPI_GETACTIVEWNDTRKTIMEOUT = &H2002 ' SPI_SETACTIVEWNDTRKTIMEOUT = &H2003 ' SPI_GETFOREGROUNDFLASHCOUNT = &H2004 ' SPI_SETFOREGROUNDFLASHCOUNT = &H2005 SPI_SETDESKWALLPAPER = 20 SPIF_UPDATEINIFILE = &H1 SPIF_SENDWININICHANGE = &H2 SPIF_SENDCHANGE = SPIF_SENDWININICHANGE SPI_GETUIEFFECTS = &H103E& SPI_SETUIEFFECTS = &H103F& SPI_SETDRAGFULLWINDOWS = 37 End Enum Private Sub Main() Dim lResult As Long Dim intCtr As Integer Dim intDesktop As Integer Dim intVE As Integer Dim intSWC As Integer Dim strParameters As String Dim strBlissPath As String Dim arrParameters() As String Dim intNumParameters As Integer strParameters = Command intDesktop = -1 intVE = -1 intSWC = -1 intNumParameters = ParseString(Trim(strParameters), "/", arrParameters()) For intCtr = LBound(arrParameters) To UBound(arrParameters) Step 1 If InStr(1, UCase(arrParameters(intCtr)), "DESKTOP") Then intDesktop = Val(Right(Trim(arrParameters(intCtr)), 1)) WriteToLog (Chr(34) & "Desktop" & Chr(34) & " parameter found. Value = " & intDesktop) End If If InStr(1, UCase(arrParameters(intCtr)), "VE") Then intVE = Val(Right(Trim(arrParameters(intCtr)), 1)) WriteToLog (Chr(34) & "VE" & Chr(34) & " parameter found. Value = " & intVE) End If If InStr(1, UCase(arrParameters(intCtr)), "SWC") Then intSWC = Val(Right(Trim(arrParameters(intCtr)), 1)) WriteToLog (Chr(34) & "SWC" & Chr(34) & " parameter found. Value = " & intSWC) End If Next If intDesktop = -1 And intVE = -1 And intSWC = -1 Then WriteToLog ("No parameters found. Applying all performance enhancement settings.") intDesktop = 0 intVE = 0 intSWC = 0 End If If intDesktop = 0 Then WriteToLog ("Removing wallpaper.") lResult = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, ByVal "", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) If lResult <> 0 Then WriteToLog ("Removing wallpaper successful.") Else WriteToLog ("Removing wallpaper failed.") End If End If If intDesktop = 1 Then strBlissPath = Environ("WINDIR") & "\Web\Wallpaper\Bliss.bmp" WriteToLog ("Applying default wallpaper (Bliss.bmp).") lResult = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, ByVal strBlissPath, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) If lResult <> 0 Then WriteToLog ("Applying wallpaper successful.") Else WriteToLog ("Applying wallpaper failed.") End If End If If intVE = 0 Then WriteToLog ("Disabling all visual effects.") lResult = SystemParametersInfoByLong(SPI_SETUIEFFECTS, 0, 0, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) If lResult <> 0 Then WriteToLog ("Disabling visual effects successful.") Else WriteToLog ("Disabling visual effects failed.") End If End If If intVE = 1 Then WriteToLog ("Enabling visual effects.") lResult = SystemParametersInfoByLong(SPI_SETUIEFFECTS, 0, 1, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) If lResult <> 0 Then WriteToLog ("Enabling visual effects successful.") Else WriteToLog ("Enabling visual effects failed.") End If End If If intSWC = 0 Then WriteToLog ("Disabling " & Chr(34) & "Show Windows Contents While Dragging" & Chr(34)) lResult = SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 0, vbNullString, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) If lResult <> 0 Then WriteToLog ("Disabling " & Chr(34) & "Show Windows Contents While Dragging" & Chr(34) & " successful.") Else WriteToLog ("Disabling " & Chr(34) & "Show Windows Contents While Dragging" & Chr(34) & " failed.") End If End If If intSWC = 1 Then WriteToLog ("Enabling " & Chr(34) & "Show Windows Contents While Dragging" & Chr(34)) lResult = SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 1, vbNullString, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) If lResult <> 0 Then WriteToLog ("Enabling " & Chr(34) & "Show Windows Contents While Dragging" & Chr(34) & " successful.") Else WriteToLog ("Enabling " & Chr(34) & "Show Windows Contents While Dragging" & Chr(34) & " failed.") End If End If End errorhandler: WriteToLog ("Error: " & Err.Number & " occurred. Description: " & Err.Description) End Sub Private Sub WriteToLog(ByVal strMessage As String) Open App.Path & "\ImprovePerformance.log" For Append As #100 Print #100, Now() & ": " & strMessage Close #100 End Sub Private Function ParseString(vstrKey As String, vstrDelimiter As String, ByRef rstrRetArr() As String) As Integer Dim mintPos1 As Integer Dim mintPos2 As Integer Dim mintLen1 As Integer Dim mintLen2 As Integer Dim mintCount As Integer On Error GoTo Errhnd mintLen1 = Len(vstrKey) mintLen2 = Len(vstrDelimiter) mintPos1 = 1 mintPos2 = InStr(mintPos1, vstrKey, _ vstrDelimiter, vbTextCompare) mintCount = 0 ParseString = mintCount If mintPos2 = 0 Then mintCount = mintCount + 1 ReDim rstrRetArr(mintCount) As String rstrRetArr(mintCount - 1) = Trim(vstrKey) ParseString = mintCount Exit Function End If If mintPos2 = 1 Then mintPos1 = mintPos2 + mintLen2 mintPos2 = InStr(mintPos1, vstrKey, _ vstrDelimiter, vbTextCompare) End If While (mintPos2 > 0) mintCount = mintCount + 1 ReDim Preserve rstrRetArr(mintCount) As String rstrRetArr(mintCount - 1) = Trim(Mid(vstrKey, mintPos1, mintPos2 - mintPos1)) ParseString = mintCount mintPos1 = mintPos2 + mintLen2 If mintPos1 <= mintLen1 Then mintPos2 = InStr(mintPos1, vstrKey, _ vstrDelimiter, vbTextCompare) Else mintPos2 = 0 End If Wend If mintPos1 <= mintLen1 Then mintCount = mintCount + 1 ReDim Preserve rstrRetArr(mintCount) As String rstrRetArr(mintCount - 1) = Trim(Mid(vstrKey, mintPos1, (mintLen1 - mintPos1) + 1)) ParseString = mintCount End If Exit Function Errhnd: ParseString = 0 End Function This will allow you to enable/disable all visual effects on an XP workstation. These settings are system-wide and should remain after reboots. Here's how to use it. Double clicking on it disables all visual effects AND removes the desktop wallpaper. If this is not desirable, you can customize what it changes using parameters passed from the command line: Parameters: [/desktop:0 or 1] --- 0 disables the wallpaper. 1 applies the default wallpaper (Bliss.bmp) [/swc:0 or 1]---0 disables "Show Windows Contents While Dragging". 1 enables it. [/ve:0 or 1] ---0 disables all visual effects. 1 enables them. Examples: C:\ImprovePerformance.exe /swc:1 /desktop:0 /ve:0 -This will enable "Show Windows Contents", disable the desktop wallpaper, and disable all visual effects. C:\ImprovePerformance.exe -This will disable everything, same as double clicking it. The app will also produce a log file, named "ImprovePerformance.log" located in the same directory as the .exe. Here's a sample of this log: 3/26/2004 9:25:24 AM: "Desktop" parameter found. Value = 0 3/26/2004 9:25:24 AM: Removing wallpaper. 3/26/2004 9:25:25 AM: Removing wallpaper successful. 3/26/2004 9:30:39 AM: No parameters found. Applying all performance enhancement settings. 3/26/2004 9:30:39 AM: Removing wallpaper. 3/26/2004 9:30:40 AM: Removing wallpaper successful. 3/26/2004 9:30:40 AM: Disabling all visual effects. 3/26/2004 9:30:40 AM: Disabling visual effects successful. 3/26/2004 9:30:40 AM: Disabling "Show Windows Contents While Dragging" 3/26/2004 9:30:40 AM: Disabling "Show Windows Contents While Dragging" successful. 3/26/2004 9:30:53 AM: "Desktop" parameter found. Value = 1 3/26/2004 9:30:53 AM: "VE" parameter found. Value = 0 3/26/2004 9:30:53 AM: Applying default wallpaper (Bliss.bmp). 3/26/2004 9:30:54 AM: Applying wallpaper successful. 3/26/2004 9:30:54 AM: Disabling all visual effects. 3/26/2004 9:30:54 AM: Disabling visual effects successful. 3/26/2004 9:31:02 AM: "Desktop" parameter found. Value = 0 3/26/2004 9:31:02 AM: "VE" parameter found. Value = 1 3/26/2004 9:31:02 AM: Removing wallpaper. 3/26/2004 9:31:02 AM: Removing wallpaper successful. 3/26/2004 9:31:02 AM: Enabling visual effects. 3/26/2004 9:31:03 AM: Enabling visual effects successful. 3/26/2004 9:31:09 AM: "VE" parameter found. Value = 1 3/26/2004 9:31:09 AM: Enabling visual effects. 3/26/2004 9:31:09 AM: Enabling visual effects successful. Enjoy, and let me know if you have any problems/questions.