博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

一花世界

天地为炉兮,造化为工。阴阳为炭兮,万物为铜。我们就在世上受着者煎熬,迟钝的人就麻木地过,感受不到痛苦,敏感的人就觉得处处疼痛不已,然而老天还不罢休,这样炼狱也就算了,还要时不时地在给你戳上一刀。记记流水账吧,也算留下点痕迹。
   cellar.cublog.cn
关于作者  
渐渐的,我越来越冷漠,对外在的人事更佚,季节递,充耳不闻。有时竟可不发一言,整日发呆。这是一个茧化的过程,自己结一个茧把自己包起来,让伤口慢慢好起来。别人无法伤害我;我也不去伤害别人。付出的代价却是,对生命热望的散逸.....

我的分类  




关于模拟键盘输入及相关

朴志渊的程序,要模拟键盘输入,目标是callus95,想用SendInput向WINDOZ消息泵中加入键盘消息,VC6总提示INPUT未声明,查找发现winuser.h中有声明,查找资料后明白了:

如果windows中的某个函数是不向下兼容的,那就要用 #define _WIN32_WINNT 0x0500

来标明版号才能使用。

    INPUT input[2];
    memset(input, 0, sizeof(input));
    input[0].type= input[1].type= INPUT_KEYBOARD;
    input[0].ki.wVk = input[1].ki.wVk ='J';
    input[0].ki.wScan = input[1].ki.wScan = 'J';
    //接下来释放它,这一点很重要。
    input[1].ki.dwFlags= KEYEVENTF_KEYUP;
    input[0].ki.time = input[0].ki.time = GetTickCount();
    for(int i=0;i<200;i++)
    SendInput(2, input, sizeof(INPUT));

 但是后来发现,callus95调用了directinput,它是驱动程序之后,消息泵之前或得控制,所以往windows消息泵里加消息是无效的,定说加入初始化钩子可以解决(游戏外挂),目前还没有找到相关资料。

 发表于: 2006-02-23,修改于: 2006-02-23 13:22 已浏览801次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:0.29301

京ICP证041476号