Is it possible to kill the process `explorer.exe` which is started in my code as other user?

I don't have the permission to kill the process `explorer.exe`, because my code is running by the current user.

I have to run this as the user, which was used to start `explorer.exe`, but how?

```
Process[] pp = Process.GetProcessesByName("explorer");
ArrayList processIDs = new ArrayList();

foreach (Process p in pp)
{
     p.kill();                
}

```

I also tried `p.CloseMainWindow()`. It closed the explorer window, but also the Windows shutdown window appeared. How do I prevent this window?