syz121790863 2018-03-05 09:21 采纳率: 0%
浏览 1502
已结题

关于directinput中接入游戏杆的一个问题

在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语句中,创建设备失败,是不是因为不同的操纵杆对应的程序中某部分的参数需要调节,使用其他型号的操纵杆可以运行

  • 写回答

1条回答 默认 最新

  • devmiao 2018-03-05 15:53
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM