PRB: Unexpected Behavior in Applications Run Concurrently with WH_CALLWNDPROC Hooks (310870)



The information in this article applies to:

  • Microsoft Windows 98
  • Microsoft Windows 95

This article was previously published under Q310870

SYMPTOMS

An application may behave abnormally when run concurrently with another application that installs global WH_CALLWNDPROC hooks.

CAUSE

This behavior tends to occur when you run applications that have small stack sizes. One such application is FreeCell, which is available on Windows 95, Windows 98, and Microsoft Windows Millennium Edition (Me)-based systems.

MORE INFORMATION

The behavior described in the "Symptoms" section of this article can be reproduced by concurrently running the FreeCell application that is included with Windows 98 and the Spy++ utility that is included with Microsoft Visual C++ 6.0. Spy++ sets global WH_CALLWNDPROC, WH_CALLWNDPROCRET, and WH_GETMESSAGE hooks to monitor sent and posted window messages. When you run Spy++, FreeCell no longer paints or functions correctly.

This issue does not occur when FreeCell and Spy++ are run on a Windows Me-based system, because FreeCell for Windows Me has a larger stack size.

An application's stack size is set when the executable is built. The stack size is typically specified in the Module-Definition File (.DEF) when you use the STACKSIZE command or the /STACK Linker command. You can modify an executable's stack size after it has been built by using the EDITBIN tool that is included with Visual C++.

REFERENCES

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

304402 Problems Running FreeCell And Solitaire with Office XP Installed


Modification Type:MinorLast Reviewed:12/20/2004
Keywords:kbHook kbnofix kbprb KB310870