An application may behave abnormally when run concurrently with another application that installs global WH_CALLWNDPROC hooks.
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.
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++.
For additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
Problems Running FreeCell And Solitaire with Office XP Installed