按键精灵 句柄 获得句柄 控制windows窗口 后台

然后通过句柄对这个文档进行最大化操作
Plugin.Window.Min Hwnd
Delay 2000
要对这个文本文档进行写入,就要另外单击文本区域,文本区域是这个窗体的一部分,有自己的句柄,我们称之为“子句柄”。我们可以通过刚才找到的窗口句柄,类(抓抓里面获取),来查找窗体里面的某一独立部分的子句柄。然后对子句柄所标识的窗体部分写入文本。
HwndEx = Plugin.Window.FindEx(Hwnd, 0, 'Edit', 0)
Delay  2000
Call Plugin.Window.SendString(HwndEx, 'hello,word,I am the king')  
Delay 2000
“全部命令”--“插件命令”--“windows 窗口插件” 可找到以上函数
后台:什么意思?
比如一个游戏,窗口最大化后,我们可以玩;但是我们把它最小化后,虽然我们看不见了,它还是没有停止,它还在幕后(前台后面)继续运行,这个就叫后台。
又例如,我们挪动鼠标双击我的电脑,这个过程可视;如果通过后台执行这个操作,我们虽然看不到鼠标挪动的过程,但是也可以达到双击我的电脑的效果。
Hwnd = Plugin.Window.MousePoint()  获得当前鼠标所在窗体的句柄的命令
Call Plugin.Bkgnd.LeftClick(Hwnd, 36, 98)  在后台单击选中“我的电脑”,前提是执行时候鼠标要挪到桌面上。貌似按键精灵对鼠标后台双击单击做得不好,有时不灵。
Hwnd = Plugin.Window.MousePoint()
XY = Plugin.Bkgnd.FindColor(Hwnd, 0, 0, 1024, 768, '0201E1')   '区域找色
ZB = InStr(XY, '|')
X = Clng(Left(XY, ZB - 1))
 Y = Clng(Right(XY, Len(XY) - ZB))
MsgBox 'x'&X &'y'& Y                     '弹出窗口,指定颜色如果找到,显示他的点的坐标
注意:插入语句默认是X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))这样的
要把冒号改掉,分2行。
获得句柄的几个函数。注意,如果不打开窗口,是无法获得句柄的。标题名也不能写错,写错也无法获取。但是会有返回值。
Hwnd = Plugin.Window.GetKeyFocusWnd()    获得当前激活的窗口句柄,激活的窗口鼠标不一定在上面
Hwnd = Plugin.Window.MousePoint()       获得鼠标当前停留的窗口的句柄,当前窗口状态未必激活(被点选)
Hwnd = Plugin.Window.Find(0, '无标题 - 记事本')  获取窗口标题栏为“无标题 - 记事本”的窗口的句柄
一般优先使用Plugin.Window.Find,如果窗口标题不固定,再考虑使用其他两个函数
Hwnd = Plugin.Window.Find(0, '新建 文本文档 (7).txt - 记事本')
sRect = Plugin.Window.GetClientRect(Hwnd)   '获取窗口的4个坐标
myArray=Split(srect,'|')       '分离出四个坐标 因为Split就是数组函数,所myArray虽然没有定义,也被默认定义成了动态数组变量
MessageBox myArray(0) & ',' & myArray(1)  '显示出变量起始点的坐标
a = CLng(myArray(0))                      '将变量里的值从字符变为数字类型,然后才能用moveTo函数
b = CLng(myArray(1))
MoveTo a, b
获取窗口坐标的目的:窗口的位置不固定,但是窗口内的内容相对于窗口的位置是固定的,“绝对坐标”+“相对坐标”,结合ifColor函数,进行判断
KeyDown 就要记得 keyUp
截取一部分,才有共性。比如找图,找游戏人物,不建议截取增个人,因为人的穿着装备是会变化的;可以截取脸部或者其他一部分。
抓抓工具,可以设定起始坐标,来获得相对坐标。
用户自定义变量http://zy.anjian.com/index.php?action-viewnews-itemid-220
用户自定义变量,也就是说用户可以输入参数(在脚本属性--其他),然后传给程序执行,提高程序灵活性。
UserVar TheKeyYouPress '你要按下的键'   '注意最后的中文是固定格式,一定要有,不是注释
UserVar TheTimeYouWant '你要按几次'
For TheTimeYouWant
KeyPress TheKeyYouPress, 1
Next
OCX界面(很鸡肋的一个功能,效果也不好,建议直接用“用户自定义变量”)
利用VB对C:\Program Files\按键精灵9\source\自定义界面例子(VB 6.0)\VB-BIG-001\QMacroUI.vbp修改制作界面,然后做成OCX文件。
然后再按键精灵右侧 脚本属性--其他--设置界面 里面,把OCX文件包含进来。
主要原理:例如,VB设计界面的时候,文本框的名称设置成 TheKeyYouPress 要和按键精灵脚本的自定义变量UserVar TheKeyYouPress '你要按下的键',两个要一样。
http://www.aipai.com/c9/ODY9JSknImgnaiYp.html 例子里面大致那样,实际用按键精灵9用起来还有一定问题。
例子里面改了很多地方,其实主要功能就是保存上次你输入的参数,一个将保存好的参数导出。
(0)

相关推荐

  • 按键精灵

    //~~~~~~~~~~{[做后台的准备]}~~~~~~~~~~~ //下面,用标题名来找父窗口 Hwnd = Plugin.Window.Find(0, '无标题 - 记事本') //下面,根据父窗 ...

  • 记录学习利用 QWidget 类创建桌面壁纸程序

    学习一短时间Qt后想做一个桌面壁纸的程序,由于没有学过 WinAPI 编程只会些Qt,所以取桌面的句柄和设置桌面的背景图只能先从网上寻找.功夫不负有心人还是找到比较满意的WinAPI的代码.然后根据这 ...

  • 按键精灵PC端脚本

    定义变量的时候不需要定义类型 ,由于是易语言,变量名可以是中文 文本路径 = 'C:\Users\Administrator\Desktop\1.txt'//改成自己的文本路径 Text = Plug ...

  • DIY一个按键精灵,用python控制mac的鼠标与键盘

    作为一名技术极客,日常工作中总是有办法可以让自己偷懒~~让代码完成一些自动化的任务,最近圈内在炒作RPA,非常多的报道,摘录一段: RPA并非"即插即用"型产品,在上一套RPA系统 ...

  • 按键精灵应用紧急

    按键精灵 鼠标形状变化 判断 点击'这个是执行1次的代码,需要设置无线循环var = GetCursorShape(0)   '获取当前鼠标特征码If var = 1055991329 Then  ' ...

  • 视频下集:1小时学会!用C++模板快速编写Windows窗口图形界面程序,不用MFC

    今日介绍使用模板,来快速创建Windows窗口图形界面程序.再用大约30分钟,你就会啦. 模板的创建方法是上次介绍的,参见: 视频:1小时学会用C++编写Windows窗口图形界面程序,不用MFC 本 ...

  • 按键精灵复制网页信息到文本文档命令

    MoveTo 240, 468 Delay 1000 LeftDown 1 //移到左上角点击 KeyDown "Shift", 1 Delay 1000 //按下shift键 M ...

  • 「知识盲区」按键精灵找图、多点找色、找字的原理(续)

    大家好,我是公众号3分钟学堂的郭立员,今天给带来一期基础知识的文章,主要讲一下找图.多点找色.找字之间的联系与区别,这是一篇基础原理的教程,可能会有些枯燥. 由于篇幅比较长,分两期更新,这是第二期,本 ...

  • 按键精灵 脚本

    现在看到很多朋友都不明白VBS,但我也没有时间全部写完,所以一天写一些,边写边和大家交流,也希望有朋友能接着写或指出我的错误. 今天我就从总体上对VBS进行介绍,希望能给大家一个直观的印象.另外,讲解 ...

  • 按键精灵复制网址写入到01文本

    MoveTo 528, 54 LeftClick 1 Delay 500 //移动到网址处单击左键 KeyDown 17, 1 KeyPress 65, 1 KeyUp 17, 1 Delay 500 ...

  • windows窗口管理神器,实现窗口多标签,工作效率提升200%

    windows窗口管理神器,实现窗口多标签,工作效率提升200%

  • 江中游按键精灵基础教程

    编号083_第1课 基础知识讲解 编号083_第2课 江中游移动宝盒使用[打开微信] 编号083_第3课 模拟器介绍与安装对接 上 编号083_第3课 模拟器介绍与安装对接 下 编号083_第4课 判 ...