MSDN > 論壇首頁 > Visual Basic General > kill explorer.exe
發問發問
 

已答覆kill explorer.exe

  • Monday, 14 August, 2006 20:38a2livelarge 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    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

解答

  • Wednesday, 16 August, 2006 23:10Timothy Ng MSFT版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    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.

所有回覆

  • Wednesday, 16 August, 2006 23:10Timothy Ng MSFT版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    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.
  • Wednesday, 16 August, 2006 23:32ahmedilyasMVP, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    that is true, Windows will automatically restart explorer.

    Question is - why on earth do you wish to kill explorer?

  • Thursday, 17 August, 2006 7:57weirdbeardmt 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Windows without Explorer is like a car without wheels...
  • Monday, 21 August, 2006 12:42Mehshan Mustafa 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    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.

  • Monday, 21 August, 2006 13:14ahmedilyasMVP, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    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
  • Sunday, 27 August, 2006 13:20a2livelarge 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    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.

  • Monday, 23 October, 2006 2:35skydiver1020 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    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.
  • Thursday, 2 August, 2007 19:39D. Choquette 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     

    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.

     

     

  • Wednesday, 5 December, 2007 3:08Crezzy 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    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..