| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1818 人关注过本帖
标题:请问:模拟键盘输入??
只看楼主 加入收藏
kem173806992
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-11-19
收藏
 问题点数:0 回复次数:4 
请问:模拟键盘输入??
今天突然想出,自己做个按键精灵的工具出来,
我玩的游戏,用了按键,游戏会识别出来,会封号,所以想试试自己做一个.

我写了一个简单的模拟键入F1的程序
用了一个Timer控件..每隔2秒激活一次

Timer里面调用了SendKeys.Send("{F1}");
运行后...在其他软件..好象Word..都可以实现自动弹出帮助文档
但当进入游戏里面....就一点反应都没有...请大家指教指教...发表一下...谢谢
搜索更多相关主题的帖子: 键盘 模拟 输入 
2008-01-04 18:13
T.t.T!Ck.¢#
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-12-6
收藏
得分:0 
你那种只是对当前的应用程序有用而已
你需要的应该是对于整个操作系统来说的模拟键盘输入
你需要明白操作系统的消息机制

给你一段我之前项目中的代码吧
你参考一下

//定义键盘变量及函数
        [System.Runtime.InteropServices.DllImport("user32")]
        static extern void keybd_event(
            byte bVk,
            byte bScan,
            uint dwFlags,
            uint dwExtraInfo
            );
        const uint KEYEVENTF_EXTENDEDKEY = 0x1;
        const uint KEYEVENTF_KEYUP = 0x2;
        public static void KeyBoardDo(int [] key)
        {
            foreach(int k in key)
            {
                keybd_event((byte)k,0x45, KEYEVENTF_EXTENDEDKEY | 0, 0);
            }
            foreach(int k in key)
            {
                keybd_event((byte)k, 0x45,KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
            }
        }



public static void KeyBoardDo(int [] key)
调用这个方法就可以了

至于 每个按键的值。。你去查一下键盘的编码对照表吧
2008-01-04 21:25
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
需要做一个全局热键,这个你需要参考相关资料吧。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-01-04 21:58
yx880502
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2008-5-5
收藏
得分:0 
有高人飘过的话顺便解释一下这4个参数是什么意思,不胜感激!
static extern void keybd_event(
           byte bVk,
           byte bScan,
           uint dwFlags,
           uint dwExtraInfo
           );
2008-05-08 14:47
快速回复:请问:模拟键盘输入??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017409 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved