说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何得到其它进程相关信息并模拟键盘和鼠标输入进行控制???

编辑:说三道四文库 发布时间:2017-11-24 01:55
HTML文档下载 WORD文档下载 PDF文档下载
各位仁兄:
       在windows程序中如何得到其它进程相关信息并模拟键盘和鼠标输入进行控制?
 
       1、首先是如何得到其它进程信息,例如对话框及其上的控件据柄 
  
       2、如何模拟键盘和鼠标输入进行控制?即不实际敲击键盘和鼠标,但程序      却象用户在输入一样,一步步进行(例如,用鼠标点击按钮,然后在弹出的文本框中输入文字,然后关闭) ;程序如何给那个进程自动送鼠标和键盘消息??
  
       本人近日看到一“类病毒”程序实现此功能,深思不得其解。 
       
你在程序员大本营里找一找,有一个OnscreenKeyboard的例子,是一个仿真的键盘,你可以看看。
1.若仅需控见句炳,可用FindWindow()/EnumChildWindows(),若须其他信息常先用CreateToolhelp32Snapshot(),再用Process32First()/Process32Next()等函数
2.可用SendInput()/keybd_event()/mouse_event(),或直接SendMessage()/PostMesage()给控件。
具体参见msdn
感谢wbc_58(我是我)和mountlin(怎么办)的解答,小弟懂一点点了,正在尝试。请同志们继续
发表高见
产生键盘事件的函数是

     keybd_event(BYTE bVk, BYTE bScan,
                 DWORD dwFlags, DWORD dwExtraInfo);

下面以模拟 Alt-TAB 为例说明这个函数的使用方法:

// Generate Keystroke sequence Alt-TAB

        keybd_event(VK_MENU,0,0,0);
        keybd_event(VK_TAB,0,0,0);
        keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
        keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);
搞定?
感谢gop(ÒÓ)的代码,我不用查书了
2014 CocoaChina开发者大会将公布触控奖学金等高校合作计划 中低端智能手机热销,未来市场或主打价格战 Facebook开源flint:一个用D语言编写的C++静态代码分析器 AMD携手BlueStacks,下半年推出零售版双操作系统 历时6年 Github发布基于Web的桌面文本编辑器:Atom Ratchet:构建移动应用原型,新版支持Android 13个最狂帅炫酷的前沿科技研究项目 打动面试官的五大技能 乐视TV和NBA签约三年互联网电视版权 首度披露大屏运营策略 支撑4.5亿活跃用户的WhatsApp架构概览 免费使用Windows?微软推Windows 8.1 with Bing实验项目 C/C++开发者必不可少的15款编译器+IDE Amazon推荐,Facebook追踪,大数据时代的“狗仔队” NewSQL登场,NuoDB告诉你未来数据库什么样 2014 Unity亚洲开发者大会&#183;中国站:技术课程全面解析 与其坐以待毙不如主动出击 软件如何避免惨遭淘汰 一周消息树:程序员想找好工作?那就学好Linux! 移动周报:开发者必须了解的10大跨平台工具 一周热点:领先Google 150年的数据可视化及WhatsApp架构解析 R语言为Hadoop注入统计血脉 海外游戏市场:Google与“开心农场”谈破局 2014年2月操作系统份额:Windows仍在增长 Win 7以47.31%稳居第一 2014年2月份浏览器份额:IE 8仍全球最受欢迎,Firefox跌破18%大关 跨平台2D游戏引擎V-Play:3天开发一款原生游戏 Appery.io:无编程经验,自己也能DIY移动应用 SAP携手Xamarin和Service2Media 提供移动应用开发框架 8个超实用的jQuery技巧攻略 美国国防部战略:大规模、分布式,构建数字化防御体系 针对小白的Python入门教程——Python使用说明书 耗资460亿美元,天价Olympic上广受诟病的监控和4G LSI AIS ASIA首次登陆中国 探讨最新大数据技术 c#中,有没有“浏览控件”??? 如何在9x和NT系统下不通过额外的软件隐藏驱动器和文件夹? 可以这样理解Container吗? datagrid分页问题 求助?Microsoft Visual Studio .NET 2003 开发软件问题? dbgrid的数据表中怎样实现多行记录的删除? windows 2000 网络问题 一个循环查询的存储过程问题 数据转换的中文乱码问题 jive安装数据库配置问题? 哪里错了?好像和游标有关系。 我的ComboBox用的是Drop List模式,为什么会出现List Box拉不下来的情况? 如何将exe的安装文件转成msi格式 关于sql语句出错信息 gei fen 用过winrunner的高手请进,100征求解答 一个问题 如何将以pdf为扩展名的文件里的文字转换成可以编辑的文字 为什么中文可以换行显示,英文不可以呢? 全局函数放在那里 大家聊聊远程控制的优缺点!!!! 怎样用jsp做广播通知?--在线等 如何用不是SA的账户去激活SA级的作业? 关于execl向数据库复制的问题 >一起学习:VFP右键功能!< Tdatabase组件的应用 请问这个检索的SQL语句怎么写? 这样是否就一定安全了,高手进 为什么直接删除不行 asp.net问题,马上给分 在线请教各位一个简单的问题--请问oracle8哪里有的下栽,急!!!!!!! 谁给我Beyond 2003演唱会下载地址! 为什么同一存储文件的程序在win2000个人版下出现:"存储文件时的共享违例"但是在win2000 server下没有,请教各位大师 用什么程序,把用户的安全性调到最低(可以出现警告对话框)??? 在线等待,马上揭贴 谁知到哪里有下载Jbuilder啊。。 如何在Win2000下注册服务程序呢?分不够再加 请问:如何解决“JDBC 服务器”配置不受支持的问题。 万分火急!请大侠指教(100分立即给) 如何在窗体上动态加载图标? MM明天生日放分庆祝(一) 如何进入Java的门? APS.NET下Excel调用:如何让服务器端只运行一个Excel实例?如何结束Excel进程? 快来快来!出事儿啦! 3d效果的正方形!! 惭愧啊!这么简单的数据库问题我都不会,你会吗? 谁告诉我这个马甲“ FrameShare (大城市里的帅哥) ”是谁的,千分不在话下! 在线等待,马上揭贴 再發貼(grid中定位問題) 怎么把长度为8且首位为0的string类型的数据转换成对应的长整型,用什么函数?载线等!!!! 在panel上没有OnKeyPress事件,怎么样实现按键盘某键触发该Panel上的button事件 急急急!高分求解(在线等待) need 的过去时是什么 need的过去时是needed吗? 差距英文怎么说 need作为情态动词有没有过去时 情态动词的题Mr.Bush is on time for everything.How_____it be that he was late for the opening ceremony?应该选can 怎么理解和翻译呢为什么should不行 bus stop library school swimming cinema ann is watching a movie in the edge of my heart是谁唱的 bus stop library school swimming pool cinema ken swims in a I spent what might be a very long time persuading my child to stay.为什么用what而不用which或that? 新概念第三册有多难背2楼,不知你的“毅力”如何定义? burn的过去时 纽约曝华裔灭门血案 5人士丧生中国赴美名校留学生 每4人就有1人退“创新之国”芬兰经验启迪中国企业加大加拿大北极地区气温或创4.4万年新高日本首相出访土耳其 欲游说其勿购中国美监管机构调查房地产信托投资基金澳媒称中国买家推动悉尼当地房价升高2美媒:部分美联储官员主张制定债券“退日本首相出访土耳其 欲游说其勿购中国日本拟上调育儿休假补贴发放比例 增加奥巴马医保网站再次瘫痪 众院将举行听扫一扫野起来 飞沙走石粉丝电影难以承载《小时代》乌反政府武装称找到“黑匣子” 不会交老年护理学员体验“老年生活”家已上路,走吧(3)郭敬明 雪对我像鸽子对吴宇森一样重要温州“一把手”均已无专车 月最高车补车内较安静行业动态CX 7预售价19.98万起
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘