各位高手,网上找了很多,都是模仿发送键盘按钮的,那怎么才能识别取得i842里的键盘按钮消息??

解决方案 »

  1.   

    // 读取I8042的0x60端口
    // 在向0x60端口读取数据之前必须确保Output Register中有数据(通过判断Status Register的Bit-0是否为1)
      

  2.   

    void CReadminView::OnTimer(UINT_PTR nIDEvent)//每5000检测一次
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值  
    DWORD str1=0, str=0;
    if(nIDEvent==2)//检查定时
    {

    SetPortVal(0x64,0x20,1);
    if(::GetPortVal(0x60,&str1,1))
    if(str1&0x1)//判断Status Register的Bit-0是否为1
    {

    //str1=str&0x80;
    GetPortVal(0x60,&str,1);//获得数据 
    char str2[30];
    ::sprintf(str2,"这个值是:%d",str);  

    MessageBox(str2,"数据",NULL);
    }
    //else MessageBox("零","数据");
    }


    CFormView::OnTimer(nIDEvent);
    }
    结果一直获得这个值是:87,不管按哪个键都是,?不知道为何因,最好是有源代码,