Les dejo este código que hice, lo que hace es des-habilitar la lista de proceos del Administrador de tareas.
Proc FindWindow(Referencia ,:Cadena):Entero,"User32.dll" "FindWindowA"
Proc FindWindowEx(hwndParent,hwndChildAfter:Entero,Referencia lpszClass,lpszWindow:Cadena):Entero,"User32.dll" "FindWindowExA"
Proc EnableWindow(:Entero,:Booleano):Booleano,"user32"
Proc DisableProcessList(Opcional Estado:Booleano = Falso)
Var PtrPadre,PtrHijo:Entero
PtrPadre = FindWindow("#32770","Administrador de tareas de Windows")
Si PtrPadre Entonces
PtrHijo = FindWindowEx(PtrPadre,0,"","Procesos")
Si PtrHijo Entonces
EnableWindow(PtrHijo,Estado)
FinSi
FinSi
FinProc
El unico problema es que al cerrar y reabrir el administrador de tareas, la lista de procesos se re-habilita, recomiendo escribir este código y ejecutarlo en un Thread que sondee el procedimiento.