Base de dados de conhecimento KB0201

Como usar a subclassificação do Windows ao programar um suplemento .NET

Problema

Eu desenvolvi um suplemento .NET para o Microsoft Office que está usando a subclassificação de janelas. Meu Office de experiência do cliente trava quando meu suplemento e outro suplemento (por ex., think-cell) estão em execução.

Solução

Geralmente, este problema é causado pela subclassificação com NativeWindow.AssignHandle / NativeWindow.ReleaseHandle.

Em vez disso, siga as recomendações da Microsoft para P/Invoke para Comctl32.dll SetWindowSubclass e RemoveWindowSubclass.

Para uma discussão técnica detalhada e o código de amostra de trabalho, consulte o post do blog da Microsoft