Okay Shawn,
This works on my home Windows XP SP1 system, but have not tested it on any other systems yet.
It should take whatever you're current TaskManager preferences are and keep them and only change the SHOW/HIDE portion of the registry flag.
Simply use either SHOW or HIDE in SetTaskManager('show or hide') No matter what you put, unless it is hide it will become show.
Code:
Break On
Dim $SO
$SO=SetOption('Explicit','On')
$SO=SetOption('NoVarsInStrings','On')
$SO=SetOption('WrapAtEOL','On')
SetTaskManager('hide')
Function SetTaskManager($Flag)
Dim $Settings,$Count,$i,$x
$Flag = IIF($Flag='hide','67','47')
$Settings = ReadValue('HKCU\Software\Microsoft\Windows NT\CurrentVersion\TaskManager', 'Preferences')
Dim $Regstring[(Len($Settings)/2)-1]
For $i = 1 To Len($Settings) Step 2
$Regstring[$Count] = SubStr($Settings,$i,2)
$Count = $Count + 1
Next
$Regstring[652]=$Flag
$x = WriteValue('HKCU\Software\Microsoft\Windows NT\CurrentVersion\TaskManager', 'Preferences',Join($Regstring,''),'REG_BINARY')
EndFunction
Once you find out what all the values do, you coud easily modify this UDF to use the key and value as input for changing.