- 初中一年级
- 2314582
- 240
- 0
- 358 朵
- 1358 个
- 49 个
- 1920
- 2013-12-26
|
1#
t
T
发表于 2014-08-19 16:19
|
|只看楼主
不用插件,也能后台发送消息
作者:兄弟工程师06 编辑:果果。。 今天,咱们天纵少侠06大大,给大家带来了一个API哦,不用插件,也能实现后台发送消息。通过调用API,把字符串分割成一个一个字符,发送到目标窗口。快看看,少侠的秘密宝剑吧~~ |
API介绍:PostMessage PostMessage是Windows API(应用程序接口) 中的一个常用函数,用于将一条消息放入到消息队列中。该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。 | 使用方法及参数: 声明:
- Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
复制代码 调用:
- PostMessage hwnd, wMsg, wParam, lParam
复制代码 其中:hwnd是指目标窗体的句柄,wMsg这里使用参数&H102,代表直接发送字符串。wParam表示要发送的内容,lParam这里引用0。(当wMsg的参数为&H102的时候,最后一个参数lParam无效,故引用0即可) 不使用插件,发送消息的具体实现
- //声明API
- Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
- //直接发送消息:通过将字符串分割成一个一个字符,发送到目标窗体
- Function SendString(hwnd,str)
- For i = 1 To Len(str)
- PostMessage hwnd, &H102, ASC(Mid(Str,i,1)), 0
- Next
- End Function
- //调用函数SendString
- SendString 目标窗体句柄,"加入按键学院实战班,坐拥脚本江山与美人~~~"
复制代码 其中:关键的代码段为“PostMessage hwnd, &H102, ASC(Mid(Str,i,1)), 0”。“ASC(Mid(Str,i,1))”,先将字符串中字符一个一个取出,转化为ANSI值,传送到目标窗体。 通过窗口插件,也可以实现发送消息
按键精灵中自带的窗体插件:Find、Search、MousePoint等也可以实现查找窗口句柄,然后实现发送消息。大家如果感兴趣,也可以自己去试试哦~~ 命令名称: | Find 查找窗口 | 命令功能: | 查找窗口类名或者标题 | 命令参数: | 参数1 字符串型,窗口类名 参数2 字符串型,窗口标题 | 返 回 值: | 整数型,窗口句柄 | 脚本例子: (8.x语法) | Call RunApp("notepad.exe") //下面这句是查找窗口类名("Notepad")或者标题(0),返回找到的句柄Hwnd Hwnd = Plugin.Window.Find("Notepad", 0) MsgBox "查找到的父窗口句柄为:"& Hwnd |
命令名称: | Search 遍历符合窗口 | 命令功能: | 遍历符合窗口标题的句柄保存到数值串里 | 命令参数: | 参数1 字符串型,窗口符合的标题 | 返 回 值: | 字符串型,句柄数值串 | 脚本例子: (8.x语法) | //下面这句是遍历符合窗口标题("记事本")的句柄保存到数组(HwndEx)里 HwndEx = Plugin.Window.Search("记事本") MsgBox "查找到符合的窗口句柄为:"& HwndEx //下面这句用于分割字符串,将获得的句柄组分割 dim MyArray MyArray = Split(HwndEx, "|") If UBound(MyArray)>=0 Then i=0 For UBound(MyArray) //下面这句将字符串转换成数值 Msgbox "第 "& i+1 &" 个窗口句柄为:"&Clng(MyArray(i)) i=i+1 Next End If
|
命令名称: | MousePoint 鼠标指向窗口 | 命令功能: | 得到鼠标指向的窗口句柄 | 命令参数: | 无 | 返 回 值: | 整数型,窗口句柄 | 脚本例子: (8.x语法) | //下面这句是得到鼠标指向的窗口句柄 Hwnd0 = Plugin.Window.MousePoint() MsgBox "得到鼠标指向的窗口句柄为:"& Hwnd0
| 本文由按键学院提供技术支持 按键学院实战班火热招生 按键学院基础视频抢先观看
- 您所在的用户组无法下载或查看附件
|