Right, so here's a nice complex question for you all...
I have a .NET implementation of a namespace extension framework that I've modified to return the IntPtr (handle) to the Explorer Status Bar control using IShellBrowser::GetControlWindow() with FCW_STATUS.
I retrieve the handle and it's not equivalent to IntPtr.Zero.
The problem lies in that I use the .NET StatusBar control and perform the following call:
Code Snippet
IntPtr statusBarHandle = this.GetStatusBarHandle(); //Does the GetControlWindow() call
StatusBar status = (StatusBar) StatusBar.FromHandle(statusBarHandle);
"status" is always null, but the handle is obviously valid as the MSDN documentation on GetControlWindow() states that if a control cannot be accessed that the handle returned will be NULL.
So what I'm essentially asking is this: How do I take the handle I receive back from GetControlWindow() and bind it to a .NET control which I can then manipulate?