在joystick初始化中,
HRESULT hr;
if(NULL == m_lpDI)
{
hr = DirectInput8Create(m_hInstance,DIRECTINPUT_VERSION,IID_IDirectInput8,(void**)&m_lpDI,
NULL);
}
if FAILED(hr)
{
//OutputDebugString("Create 失败 - in CJoystick::Initialise/n");
OutputDebugString(_T( "Create 失败 - in CJoystick::Initialise/n" ));
return false;
}
ENUM_DEV_CONTEXT enumDevContext;
enumDevContext.lpDIinput=m_lpDI;
//enumDevContext.lpDIDevice=m_lpDIDevice;
enumDevContext.lppDIDevice=&m_lpDIDevice;
hr = m_lpDI->EnumDevices( DI8DEVCLASS_GAMECTRL,DIEnumDevicesCallback,&enumDevContext,
DIEDFL_ATTACHEDONLY | DIEDFL_FORCEFEEDBACK);
if FAILED(hr)
{
OutputDebugString(_T("枚举设备失败 - in CJoystick::Initialise/n"));
return false;
}
if( NULL == m_lpDIDevice )
{
OutputDebugString(_T("创建设备失败 - in CJoystick::Initialise/n"));
return false;
}
当我逐步执行时到最后时会进入到if语句中,创建设备失败,是不是因为不同的操纵杆对应的程序中某部分的参数需要调节,使用其他型号的操纵杆可以运行