Here is a program that is similar to progkill that I wrote for use in our district.
The app consists of 4 files.
progmon.exe: This is the main executable.
vdsrun50.dll: This is the runtime library for the executable.
progmon.all: This list of denied apps is applied to all users.
progmon.stu: This list of denied apps is applied to students only. A student is determined by the distinguished login name of the user. If the dn contains students, then this list gets applied. In our district, all of our students are in a students container.
The app can either be run from a network drive by just executing progmon.exe from the server in a login script or zen application, or can be installed locally. The following command line options are available when running progmon.exe.
progmon install: This option just copies the necessary files to the Windows directory of the local hard drive. It does not start the monitoring. If the program has already been installed, it will be updated.
progmon install enable: This option copies the necessary files to the Windows directory of the computer and enables the application by starting the monitoring process and adding a run entry in the registry so that it starts automatically.
The program will monitor for the specified denied applications every 30 seconds and kill them if found. It will kill the applications even if the original exe file is renamed. After 10 polling cycles (5 minutes), the program will reread the denied lists in case they have been updated.
This is a work in progress but is currently being used in 3 high schools without any noticeable problems (other than the students getting really annoyed). I have only tested it on NT-based systems (Windows 2000, Windows XP)