I know the shell registry key to disable it but I don't understand how to disable for specific user. Consider the situation where administrator cannot login user account but want to change user explorer.exe with some other program like iexplore.exe
I'ld suggest that you use group policies. Microsoft has a web page how to edit multiple local group policy. One option is to create a group policy for all non-admin users. Another option is to create a group policy for each individual user. You might find it interesting looking at all the possibilities group policies give you.
Configuration\Administrative Templates\System you might be interested in
Run only allowed Windows applications,
Don't run specified Windows applications and
Custom User Interface. Group Policy Editor gives you a detailled description for every option.