I'm trying to build a simple app for parenting control in .NET. The main idea is to force a certain user account to run my app and to block all access to windows desktop UI. Anyone know how can i achieve this or where should i start researching? Thanks.
Sounds like you need a shell replacement. You need to start by setting the shell to an app that will choose Explorer or your program based on the user logging in.
I was searching for this for a while and just found what seems to be a great example of something similar to what you might be trying to achieve. The well-known programming blogger Scott Hanselman wrote his BabySmash! program and hosted it over at CodePlex. It may not be exactly what you want, but looking at the methods he uses to block interaction with the OS/other programs outside your own might give you some ideas.
Description from the CodePlex page:
As babies smash on the keyboard, colored shapes, letters and numbers appear on the screen. Baby Smash will lock out the Windows Key, as well as Ctrl-Esc and Alt-Tab so your baby can't get out of the application. Pressing ALT-F4 will exit the application and Shift-Ctrl-Alt-O brings up the options dialog.
I wrote BabySmash! for my 2 year old and 5 month old so they could bang on the keyboards of my Windows machines without hurting anything. It's a copy/homage of the very fine and free AlphaBaby for the Macintosh. BabySmash is free also and I'll release the source code on my blog soon. Enjoy.