В самом конце перед завершением работы программы необходимо удалить ссылки на все используемые объекты. Можно конечно просто удалить ссылку на объект DirectInput, который в свою очередь освободит все используемые объекты, но лучше все делать самому, чтобы не путаться с захватами устройств.
Visual Basic Освобождаем захват и объект DirectInput:
Освобождаем захват и объекты DirectInput:
Visual C++
Visual Basic
Private Sub Form_Terminate()
dmmouse.Unacquire
Set dmmouse = Nothing
Set dri = Nothing
End Sub
Visual C++
void CDImputDlg::OnDestroy()
{
HRESULT hr;
hr=g_pMouse->Unacquire();
if FAILED(hr)
{
ASSERT(FALSE);
}
g_pMouse->Release();
g_pDI->Release();
KillTimer(ID_TIMER_1);
CDialog::OnDestroy();
// TODO: Add your message handler code here
}