主题 : 请问这样操作button是否对? 复制链接 | 浏览器收藏 | 打印
级别: 骑士
UID: 7394
精华: 0
发帖: 164
金钱: 860 两
威望: 172 点
综合积分: 328 分
注册时间: 2009-07-13
最后登录: 2016-04-15
楼主  发表于: 2011-08-09 11:15

 请问这样操作button是否对?

    DWORD    KeyValue;
    long    RecvBuf;
    BOOL        iRet;
    DWORD        iLen = 2;
    int        i;
    CString str;
    hKey = CreateFile(L"KEY1:",GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);
    if(hKey == INVALID_HANDLE_VALUE)
    {
        ::MessageBox(NULL,_T("键盘打开失败"),_T("程序提示"),MB_OK);
        return;    
    }

    for (i=0; i<10; i++)
    {
        RecvBuf = 0;
        iRet = ReadFile(hKey,&RecvBuf,iLen,&iLen,NULL);
    //    m_KeyVal =
        if (iRet && (RecvBuf!= 0XFF)  )
        {
            str.Format(_T("KEY value is %d"),RecvBuf);
            ::MessageBox(NULL,str,_T("程序提示"),MB_OK);
            UpdateData(FALSE);
        }
        Sleep(500);
    }
这个程序可以读出K1,K2键的值分别是1和256,其他几个键读的都是0,这是什么原因
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-08-09 12:11
你可以看看驱动中按键值的数据类型是否一致。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.