hur.cn - 华软网

 热门搜索

关于模拟按键

  作者:未知    来源:网络    更新时间:2011/5/16
由客户端按下键盘用HOOK得到按下的键码比如65 然后发送到服务端接收模拟按下a
但是却出现0 ........   还有一点就是如何用HOOK截获65的时候知道是键盘按下 还是弹起呢?
CString key;
key.Format("0x%s",command.lparam);
BYTE   pByte=(BYTE*)key.GetBuffer(key.GetLength()); 
    key.ReleaseBuffer();
keybd_event(*pByte,0,0,0);
keybd_event(*pByte,0,KEYEVENTF_KEYUP,0);
第一个参数*pByte是0x65但是却按出樂一个0  
这是为什么啊~? 
昨天搞樂一天也没弄明白.....
---华软 网友回答---
  class="deleted_message"> 该回复于2011-05-16 14:41:22被版主删除
---华软网友回复---
在线等解答 问题解决就结贴 高手快来啊~
---华软网友回复---
This function has been superseded. Use SendInput instead.

---华软网友回复---
  class="deleted_message"> 该回复于2011-05-16 15:28:49被版主删除
---华软网友回复---
楼主貌似想干坏事呀。 。
SendInput 代替 keybd_event
---华软网友回复---
你程序写的有问题

CString key;
key.Format("0x%s",command.lparam);//如果是65键值,那么key是字符串0x65

BYTE pByte=(BYTE*)key.GetBuffer(key.GetLength());  //pByte取的是字符串0x65的第一个字节,一定是0
你尝试如此改:
int nVK = command.lparam;

BYTE ucKey = nVK;

keybd_event(ucKey ,0,KEYEVENTF_KEYUP,0);





     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。