Hi.

I have a managed app that is running my unmanaged DirectX9 engine on a
thread using a panel for window output.

This seems to work fine, but when the user holds down the Right
Mousebutton over my panel, I want to give my engine exclusive mouse &
keyboard. So on the mouseDown event for the panel I change the
co-operative level of the mouse device to exclusive

pDevice->Unacquire();
pDevice->SetCooperativeLevel(gSE.hWnd, DISCL_FOREGROUND|DISCL_EXCLUSIVE);
pDevice->Acquire();

and on the mouseUp event I switch it back to non-exclusive.

pDevice->Unacquire();
pDevice->SetCooperativeLevel(gSE.hWnd,
DISCL_FOREGROUND|DISCL_NONEXCLUSIVE);
pDevice->Acquire();



However, this doesn't seem to have any effect (even though it seems to
run fine in the debugger.

When I'm running my engine in a non-managed C++ framework, this code
correctly hides the mouse pointer away and gives the game exclusive
access to the mouse.

Anyone have any idea what I'm doing wrong?

Thanx

James Podesta