   How to make a process invisible?
  I was wondering, how to make a process invisible or to make it belong to the "SYSTEM" user (like services.exe and all that...), so that it can't be accessed by the user. Is there a way to do it with CreateProcess?   
  You can have it run as a service. This way, it will be part of one of the existing service processes, and if configured correctly will run under whatever user you need (admin, SYSTEM or user). You have to set up your application to be run as a service, or use a third party tool that runs other applications as services. In any case, installing such a service is as simple as checking a few options in the control panel or registry in administrator mode.   