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 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)