Take the 2-minute tour ×  I created my own parental control app
using C# to monitor my kids activity. It logs all the keyboard
input and screens in the background silently, with the only gui
of taskbar icon. So far, I just let it run in my admin account
and everybody share the same account and it works fine. The
problem is that as kids grow up, they found a way to kill it
from the task manager. So, I need to use a more sophisticated
way to protect my app. I thought I could solve this problem
easily by creating a separate standard account for each kid and
I can setup my app to run as an admin to monitor all their
activities. However, I faced a lot of issues.    1. The keyboard
hooks seem to stop working once I switched to a different user
account. Is it true? I thought it's global hook - is it just
global within the user account?    2. The screen capturing
doesn't work on another user account either. This is my code and
it failed at g.CopyFromScreen with error "the handle is
invalid":  RECT rc = Win32.GetWind