IE6 remains active in the taskmanager even after I turn the program off on the desktop. If I restart IE, it starts a second process in the taskmanager. This causes a problem starting Flash pages and obviously use up resourses. Can anyone help?

Dani AI

Generated

A persistent IE process after closing the browser is usually an add-on/plugin or a hosted object holding handles open (Flash/ActiveX, a BHO, or a third-party shell extension). The code posted by will not match the real executable name — the process is iexplore (not iexplorer) — and ’s point about giving OS/SP/add-on details is valid for deeper diagnosis.

Quick, non-destructive checks:

  • Confirm the process name in Task Manager (look for iexplore.exe).

  • Start IE with add-ons disabled to see if an extension is responsible:

    iexplore.exe -extoff
  • If the problem reproduces only on pages with Flash, update or remove the Flash/ActiveX plugin. A hung plugin commonly keeps the host IE process alive.

  • Use Process Explorer (Sysinternals) to inspect the lingering iexplore.exe for loaded modules and open handles — that usually shows which DLL or plugin is preventing shutdown.

Safer programmatic shutdown (preferred over an immediate Kill): close the window, wait, then force if needed. Example pattern in C#:

using System.Diagnostics;

foreach (Process p in Process.GetProcessesByName("iexplore"))
{
    if (p.CloseMainWindow())
        p.WaitForExit(2000);
    if (!p.HasExited)
        p.Kill();
}

If add-ons are not the cause, try a clean boot to isolate third-party services, run sfc /scannow to check system files, and reinstall or repair IE/Flash. Repeatedly killing iexplore.exe is a workaround; the long-term fix is identifying the BHO/plugin or service that holds the process open.

Recommended Answers

All 2 Replies

String n= "iexplorer";
Process[] prs = Process.GetProcesses();
foreach (Process p in prs)
{
if (p.ProcessName == n)
{
p.Kill();
goto y;
}
}
y: this.Dispose();
String n= "iexplorer";
        Process[] prs = Process.GetProcesses();
        foreach (Process p in prs)
        {
            if (p.ProcessName == n)
            {
                p.Kill();
                goto y;
            }
        }
    y: this.Dispose();

Unless you give some explanation of what you want, no-one can help you.
You also need to post in the correct forum and use code tags.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.