Consider the following scenario:
- On a computer that has Windows Internet Explorer 7 installed, you create a new desktop.
- You use an application to programmatically enumerate the Internet Explorer 7 instances that are opened in this desktop.
In this scenario, the application cannot correctly enumerate these Internet Explorer 7 instances.Note
This problem does not occur in Microsoft Internet Explorer 6.
This issue occurs because of a change in behavior in Internet Explorer 7.
In Internet Explorer 6, the ShellWindows object is associated with the following CLSID:
This object is a COM local server that exists for each desktop. When you use the CoCreate
function to create a ShellWindows instance, the instance is bound to the server on the desktop where you create the instance. Therefore, the application can enumerate the Internet Explorer 6 windows in all desktops.
In Internet Explorer 7, the HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\ subkey is added together with the RunAs registry entry. And the value of the RunAs registry entry is set to Interactive User. This change in behavior for Internet Explorer 7 causes the ShellWindows instance to be bound to the server on the default desktop even if you create the instance in other desktops.
Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
Workaround for Windows XP and for Windows Server 2003
To work around this issue in Windows XP or in Windows Server 2003, follow these steps:
- Click Start, click Run, type regedit, and then click OK.
- Locate the following registry subkey, and then click it:
- Delete the AppID registry entry.
- Exit Registry Editor.
Workaround for Windows Vista
To work around this issue in Windows Vista, follow these steps:
- Install the MS07-033 cumulative security update for Internet Explorer (KB933566), or install a later cumulative security update for Internet Explorer.
For more information about the MS07-033 cumulative security update, click the following article number to view the article in the Microsoft Knowledge Base:
MS07-033: Cumulative Security Update for Internet Explorer
- Install update KB935855.
- Restart the computer.
This behavior is by design.
A desktop is a securable object that has a logical display surface. A desktop may contain user interface items such as windows and menus. For more information, visit the following Microsoft Developer Network Web site:
For more information about the AppID registry entry, visit the following Microsoft Developer Network Web site: