I've made a windows program that does exactly what it is intended to do. Check to see if a certain process is running (say Calc.exe): If it is, do nothing. If it isn't execute the missing process (say C:/windows/system32/calc.exe). I then made a simple windows service with this function. It works to a point. It will load calc if it isn't a running process, except it won't ever show up on the screen. If you look at task manager, it shows Calc.exe running by the user SYSTEM. When calc loads by start menu or by my windows program, it says my name. Any ideas on how to resolve my issue? I think I need my windows service to load my program as a user. I don't know how.