后台发送键盘消息教程

社区服务
高级搜索
猴岛论坛辅助工具后台发送键盘消息教程
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
1个回复

后台发送键盘消息教程

楼层直达
幻想.

ZxID:1717453

等级: 贵宾
这该死的社会,逼得人在杀人和忍住不杀之间徘徊.

举报 只看楼主 使用道具 楼主   发表于: 2009-01-19 0
— 本帖被 幻想. 执行取消锁定操作(2009-01-19) —
启动之前,请将任意一个浏览器页面放置于前台!
//打开一个网页,本例以百度为例
VBSCall RunApp("www.baidu.com")
//获得当前可以发送按键消息的窗口句柄,并把值赋给 hwnd
Plugin hwnd = Window.GetKeyFocusWnd()
Delay 1000
VBSCall MessageBox("现在可以把需要刷新的页面放置后台或者最小化了")
Rem star
    //向句柄为 hwnd 的窗口发送键盘按键消息F5按一次(F5的ASC码值为116)
    Plugin Window.SendKeyPress(hwnd,116)
    //根据刷新一次的时间,设置个延迟
    Delay 5000
Goto star
新人朋友们对windows插件不太理解很大原因可能是不太清楚下面一些概念
首先我们要理解以下概念(大家要重视下面这段比较大的文字啊)
一个位于前台的程序:我们所能操作的一组窗口,它是唯一的,由软件调用系统生成


一个位于后台的程序:我们打开的非前台的一组窗口,由软件调用系统生成
窗口:一个矩形的区域
窗口句柄:在按键精灵中你可以简单理解为是某个窗口临的唯一标识.
我们不能把2次打开某个软件进入了一个界面 理解为是2次打开了同一个窗口.你可以测试下,2次窗口的句柄是不同的.
要知道窗口是windows系统构建的.
某个窗口一旦关闭(最小化不是关闭)他就结束了,即使再由同一程序打开一个界面一模一样的窗口,新打开的窗口并不是刚才关闭的窗口.


示例图片中红框是一窗口,蓝框也是一个窗口,圣诞图片也是一个窗口,蓝框窗口和图片窗口都是红框窗口的子窗口.
这3个窗口就是一组qq程序的窗口
绿框部分还有 登陆 取消 等按扭包括qq本来界面上的的那个蓝框都是蓝框窗口的窗口控件,这个只要知道就可以了.



向后台发送键盘消息主要分以下二个步骤!
1.确定接受 消息 的窗口
我们可以通过获得窗口 句柄 来确定一个窗口
软件提供的windows插件有3条命令可以实现获得一个窗口的句柄
hwnd是返回值,由我们自己定义,可以看成是一个静态变量
//返回鼠标所在位置的窗口句柄
Plugin hwnd1 = Window.MousePoint()
//返回前台的窗口句柄,假设qq登陆的一组窗口在前台,那么返回是示例上红框的窗口句柄
Plugin hwnd2 = Window.Foreground()
//返回当前可以发送按键消息的窗口句柄,假设qq登陆的一组窗口在前台,返回的是可以发送按键消息的窗口句柄
要注意这条命令与上条的区别
Plugin hwnd3 = Window.GetKeyFocusWnd()
例子中我们通过Plugin hwnd = Window.GetKeyFocusWnd()
把百度网页窗口句柄赋给了 hwnd
我们也可以通过
Plugin hwnd = Window.MousePoint()或者
Plugin hwnd = Window.Foreground()
来获得百度这个网页的窗口句柄,但要注意这2句使用的前提条件与Window.GetKeyFocusWnd()
的不同.
2.向窗口发送按键消息命令,这里的窗口是指一个窗口不是一组窗口
例子中 我们通过Plugin hwnd = Window.GetKeyFocusWnd()
已经得到了百度网页这个窗口中可以发送按键消息的一个窗口句柄 hwnd
以下3条命令都可以向一个窗口发送一条按键消息,它们都有2个参数
第一个参数,想要发送消息的那个窗口句柄,例子得到的 hwnd
第二个参数,发送的按键ASC码值,想发送字母"A",则写65,例子中想发送F5,F5的ASC码值为116
//发送一个按住某按键的消息
Plugin Window.SendKeyDown(窗口句柄,按键ASC值)
//发送一个某按键弹起的消息
Plugin Window.SendKeyUp(窗口句柄,按键ASC值)
//发送一个按一次某按键的消息
Plugin Window.SendKeyPress(窗口句柄,按键ASC值)
当然我们可以通过下面2句来代替Plugin Window.SendKeyPress(hwnd,116)
Plugin Window.SendKeyDown(hwnd,116)
Plugin Window.SendKeyUp(hwnd,116)
a小云

ZxID:6208660

等级: 列兵
举报 只看该作者 沙发   发表于: 2009-05-17 0
看的头晕  想哭 
« 返回列表
发帖 回复