I started this project for one thing, and it's turned into something else entirely. The deeper I go, the more complex it gets. Quite consuming.

But I am making progress! Now I have window closing and resizing hooked and working relatively well -- I occasionally get garbage collected issues, but I think they may come from monitoring windows that are run by .NET  -- how do I get new pointers for garbage collected windows? This may be a question for Stack Overflow. Additionally, the test app I'm using doesn't seem to destroy a tool window, but I suspect that it hides the tool window instead, which means I need to hook hiding/visibility, as well as min/maximizing.