A transparent layered window appears corrupted after the program stops responding, the program window is replaced by a ghost window, and then the program resumes in Windows Vista

A transparent layered window appears corrupted after the program stops responding, the program window is replaced by a ghost window, and then the program resumes in Windows Vista

Article ID : 934228
Last Review : April 5, 2007
Revision : 2.0

SYMPTOMS

When a program stops responding in Windows Vista, top-level windows that are owned by the program are supposed to be replaced by a ghost window until the program resumes. When the program resumes, the ghost windows are replaced by the program windows. However, in some cases, the program windows may appear corrupted when the program resumes. This problem may occur if the following conditions are true:

• The program window is transparent and uses the WS_EX_LAYERED extended window style.
• The program window was replaced with a ghost window when the program stopped responding.

For example, when this problem occurs, the program window is not correctly repainted, and instead contains information that previously appeared in the ghost window.

Back to the top

RESOLUTION

To resolve this problem, make sure that threads that own top-level windows consistently process windows messages.

Alternatively, you can call the DisableProcessWindowsGhosting function to disable window ghosting for the affected application. You can also use the NoGhost compatibility fix in the Application Compatibility Toolkit.

Back to the top

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the Applies to section.

Back to the top

MORE INFORMATION

If a top-level window stops responding to messages for more than several seconds, the system considers the window to be unresponsive. In this case, the system hides the window. The system replaces the window with a ghost window that has the same Z order, location, size, and visual attributes. This behavior lets users do the following:

• Move the window
• Resize the window
• Close the window

However, these are the only actions that are available because the application is actually not responding.

Back to the top


APPLIES TO
• Windows Vista Enterprise 64-bit Edition
• Windows Vista Home Basic 64-bit Edition
• Windows Vista Home Premium 64-bit Edition
• Windows Vista Ultimate 64-bit Edition
• Windows Vista Business
• Windows Vista Business 64-bit Edition
• Windows Vista Enterprise
• Windows Vista Home Basic
• Windows Vista Home Premium
• Windows Vista Starter
• Windows Vista Ultimate

Back to the top

Keywords: 
kbexpertiseinter kbqfe kbprb KB934228

Back to the top

 

Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
Microsoft Corporation. All rights reserved. Terms of Use | Trademarks


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image

A transparent layered window appears corrupted after the program stops responding, the program window is replaced by a ghost window, and then the program resumes in Windows Vista

SYMPTOMS

When a program stops responding in Windows Vista, top-level windows that are owned by the program are supposed to be replaced by a ghost window until the program resumes. When the program resumes, the ghost windows are replaced by the program windows. However, in some cases, the program windows may appear corrupted when the program resumes. This problem may occur if the following conditions are true:

The program window is transparent and uses the WS_EX_LAYERED extended window style.
The program window was replaced with a ghost window when the program stopped responding.

For example, when this problem occurs, the program window is not correctly repainted, and instead contains information that previously appeared in the ghost window.

RESOLUTION

To resolve this problem, make sure that threads that own top-level windows consistently process windows messages.

Alternatively, you can call the DisableProcessWindowsGhosting function to disable window ghosting for the affected application. You can also use the NoGhost compatibility fix in the Application Compatibility Toolkit.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the “Applies to” section.

MORE INFORMATION

If a top-level window stops responding to messages for more than several seconds, the system considers the window to be unresponsive. In this case, the system hides the window. The system replaces the window with a ghost window that has the same Z order, location, size, and visual attributes. This behavior lets users do the following:

Move the window
Resize the window
Close the window

However, these are the only actions that are available because the application is actually not responding.


APPLIES TO
Windows Vista Enterprise 64-bit Edition
Windows Vista Home Basic 64-bit Edition
Windows Vista Home Premium 64-bit Edition
Windows Vista Ultimate 64-bit Edition
Windows Vista Business
Windows Vista Business 64-bit Edition
Windows Vista Enterprise
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Starter
Windows Vista Ultimate

——————————————–

Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
Microsoft Corporation. All rights reserved. Terms of Use | Trademarks


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

2 Responses to “A transparent layered window appears corrupted after the program stops responding, the program window is replaced by a ghost window, and then the program resumes in Windows Vista”

  1. I don’t believe that Microsoft considers this a problem with Vista – they consider this a problem with your application. Don’t hold your breath waiting for a fix either because it ain’t gonna happen. Vista is perfect – perfectly obstinate.

    The worst part about this is that ANY 3D content (e.g., D3D graphics) are obliterated by the ghost because apparently the ghost window logic isn’t smart enough to display the contents of the composite window so you get whatever garbage was left on the (memory wasting) 2D/GDI buffer that sits beneath your 3D surface.

  2. You are right talkspam , also thank you for the words about the 3D content

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image