I made a C# windows application which opens a user input win form called mywinform.exe . I want to execute this mywinform.exe once their is no user activity for a time period t (no moving/input mouse or keyboard input). I've tried using the windows task scheduler but it's so buggy and not reliable at all especially when it comes to creating tasks with Idle triggers. So now I wonder how I can do it in C# where I want to have an application or service to detect user inactivity and launch mywinform.exe once time t reached.
I've checked and found that GetLastInputInfo can do it as shown in this post, but I don't want the user inactivity detection application to be appearing, so is there a way to make it running in the background or as a service?