As Políticas de Restrição de Software são uma maneira de conseguir isso: você pode definir uma política que permite determinados programas e não permite outros; esta é provavelmente a maneira mais simples.
Você também pode tentar conectar-se às funções da API - para simplificar, toda vez que um programa quiser fazer alguma coisa, essa solicitação passa primeiro pelo "gancho" ou pelo programa de manipulação. É assim que muitos vírus funcionam. Leia API Hook Hooking para uma introdução ou google hook CreateProcess (CreateProcess é a função da API do Windows usada para iniciar programas) e de lá ir.