kill explorer.exe
I can use task manager to kill explorer.exe, case use following code to restart it
Process.Start(
"explorer.exe")But why doesn't the following code kill it? It seems to kill it for a brief second, than it automaticaly start back up?
Dim myProcesses() As Process
Dim myProcess As Process
myProcesses = Process.GetProcesses()
For Each myProcess In myProcesses
If myProcess.MainModule.ModuleName = "explorer.exe" Then
myProcess.Kill()
Exit For End If Next
Answers
- I believe that explorer automatically restarts when you kill it programmatically. Only when you do it through the task list does it not restart.
http://blogs.msdn.com/jeffdav/archive/2004/07/22/191636.aspx has a little bit of detail, in the comments as well.
All Replies
- I believe that explorer automatically restarts when you kill it programmatically. Only when you do it through the task list does it not restart.
http://blogs.msdn.com/jeffdav/archive/2004/07/22/191636.aspx has a little bit of detail, in the comments as well. that is true, Windows will automatically restart explorer.
Question is - why on earth do you wish to kill explorer?
- Windows without Explorer is like a car without wheels...
I was trying to do the same and found a work-arround. Using the registry editor change
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
to something other value than "explorer.exe". Use Kill or TerminateProcess to shutdown explorer and it won't come back again.
- you really shouldnt be doing stuff like this, especially modifying the registry as not only will the user be unhappy but other things may also happen which could be undesirable
Designing a Kiosk type application, that has different user levels. I need to prohibit most users from messing with the windows world. But a high level login needs to have access to desktop, and programs. Stopping the explorer.exe does that exact thing. If I can programmically turn it on or off then I can control what the user has acces to while keeping the application running and not effecting all the real-time processes I am developing....
My client gave me that direction, I believe he is using somthing like a "TweakUI" to do somthing similiar elsewhere.
- Why does Explorer continue to search beyond the folder selected and will not stop if the "STOP" button is clicked? It apears to serch the entire computer for every search occupying 45 to 55 CPU time.
I also agree that this is not something you usually want to do but sometimes you have to.
If you want to kill explorer programmatically without having it back again you can use an exe in c:\Windows\System32\ called taskkill and use it to kill explorer. This way it will not come back automatically. Use the following command line:
>TASKKILL /F /IM explorer.exe
Just declare a process to silently execute task kill
//create a process start info to execute the task kill program
//this is needed because otherwise explorer is restarted automatically by windows ProcessStartInfo taskKill = new ProcessStartInfo("taskkill", "/F /IM explorer.exe");//hide the command prompt from the user
taskKill.WindowStyle =
ProcessWindowStyle.Hidden;//create a new process
Process process = new Process();//set the process start info
process.StartInfo = taskKill;
//start the process
process.Start();
//wait until the task kill process is done
process.WaitForExit();
See also
>TASKKILL /?
for other command line parameters.
Dom.
- I am also trying to kill explorer. However my scenario is a little different..
I have completely removed internet explorer from program files\
and have removed explorer from windows\
and windows\dllcache
However when I Run a command like c:\folder
explorer shows back up...
how is this possible?
also I have disabled windows file protection too..


