新建一个文本文档,打开,Windows就会给这个文本文档的窗口临时分配唯一的一串数字来标识这个窗体,以区别于其他窗口,这串数字就叫句柄。

因为句柄是临时随机分配的,所以每次虽然是打开同一个文件,但是分配到的一串数字却是不一样的。

所以我们要通过窗体的标题栏来确定每次不同的句柄。

例如,我打开一个“新建 文本文档 (5).txt”,打开,文本文档的标题栏是“新建 文本文档 (5).txt - 记事本”,那么,我就通过“新建 文本文档 (5).txt - 记事本”(注意:不是文件名)来查找这个文本文档的句柄。

Hwnd = Plugin.Window.Find(0, "新建 文本文档 (5).txt - 记事本")

Delay 2000

然后通过句柄对这个文档进行最大化操作

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用起来还有一定问题。

例子里面改了很多地方,其实主要功能就是保存上次你输入的参数,一个将保存好的参数导出。

【笨嘴拙舌WINDOWS】实践检验之按键精灵【Delphi】

通过记录键盘和鼠标位置和输入信息,然后模拟发送,就能够创建一个按键精灵! 主要代码如下: library KeyBoardHook; { Important note about DLL memory ...

Windows窗口消息大全(转)

Windows窗口消息大全,全不全自己看 // #inc ...

Windows窗口消息大全

// #include "AFXPRIV.H& ...

【转】Windows 窗口层次关系

原文链接:undefined! 相信在Windows 下面编程的很多兄弟们都不是很清楚Windows 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所 ...

教程-隐藏/显示任务栏-程序不在任务显示-全面控制Windows

1.隐藏任务条 var  h:THandle; //变量h:=FindWindow('Shell_TrayWnd',nil);ShowWindow(h,SW_hide); 2.显示任务条h:=Find ...

win32 api Windows窗口的创建

windows窗口的创建有以下几个步骤: 1.创建注册窗口类 2.创建窗口句柄 3.显示更新窗口 4.消息循环 1.创建注册窗口类 所谓创建窗口类就是定义一个WNDCLASS类对象,并将该对象进行初始 ...

[MFC]_在vs2019中使用MFC快速构建简单windows窗口程序

微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发 ...

[教程] 以本论坛为例,手把手教你使用按键精灵POST登陆网页

本帖最后由 isaacc 于 2012-2-26 11:08 编辑 整个操作,很无脑.只要你够勤快,你学不会,你来咬我.懒人和伸手党就直接复制代码去玩吧,但我不是叫你拿去干坏事. 准备工具:WPE和I ...

Windows窗口的创建

Windows窗口创建的基本代码: #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); i ...

随机推荐

Jquery

使用时jquery先引进jquery文件包 一个页面有多个文件jq ...

Date类型时间转换

/* 时间转换start */ public static void main(String args[]) { Date nowTime = new Date(); System.out.print ...

wince6.0应用程序自启动

主要思想:将应用程序添加到image里,然后用应用程序代替桌面应用程序,从而使应用程序自启动. 主要步骤:                 1.将应用程序MyApp.exe拷贝到wince600\OS ...

cocos2dx跨平台使用自定义字体

首先需要一个ttf文件的字体. 在ios中的方法: 把ttf文件放入资源文件下,然后在你的工程的Info.plist文件中新建一行(Add Row),添加key为:Fonts provided by ...

Win64位操作系统无法运行暗黑2战网D2GS的解决办法

前几天想在我的Win7 x64系统里做个战网自己玩,搭建完毕后进入战网创建房间出现经典的问题,“排队1”. 原因很清楚,就是D2GS无法启动:但是使用之前的各种办法尝试后无果,后来查看D2GS同目录下 ...

【POJ】【1067】取石子游戏

博弈论 这个是博弈游戏中的Wythoff博弈: 以下为我的代码: //POJ 1067 #include #include #include&lt ...

group by的SQL语句

有一张项目表 CREATE TABLE [ProjectTable] ( [ProjectID] NVARCHAR(16) NOT NULL, [ProjectName] NVARCHAR(20) N ...

Excel Skill (1) -- 判断时如何去掉框里的空格

使用命令 TRIM 说明: Purpose. Remove extra spaces from text. Text with extra spaces removed. =TRIM (text) t ...

[洛谷U990]传递游戏(90分)

[题目描述 Description] n个人在做传递物品的游戏,编号为1-n. 游戏规则是这样的:开始时物品可以在任意一人手上,他可把物品传递给其他人中的任意一位:下一个人可以传递给未接过物品的任意一 ...

C/C++的静态库与动态库

C/C++编程中相关文件后缀(以Linux系统下为例): .a:           静态库(archive) .c/.cpp:  C/C++源程序 .h/.hpp: C/C++源程序的头文件 .i: ...

按键精灵通过句柄获取窗口坐标_按键精灵 句柄 获得句柄 控制windows窗口 后台...相关推荐

  1. 按键精灵通过句柄获取窗口坐标_按键精灵怎么获取同名窗口的句柄

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:按键精灵怎么获取同名窗口的句柄回答:命令名称: Search 遍历符合窗口 命令功能: 遍历符合窗口标题的句柄保存到数组里 命令参数 ...

  2. 按键精灵通过句柄获取窗口坐标_使用visual studio 2019 创建简单的Windows窗口「Win32」...

    今天Bili发现网上好多MFC代码都不能用,给大家分享一个简单的MFC窗口语言: 学的不仅仅是技术,更是梦想 学的不仅仅是技术,更是梦想 学的不仅仅是技术,更是梦想 学的不仅仅是技术,更是梦想 复制代 ...

  3. python控制windows窗口、并输入数据_python win32api win32gui win32con 窗口句柄 发送消息 常用方法 键盘输入...

    import win32gui import win32con import win32api # 从顶层窗口向下搜索主窗口,无法搜索子窗口 # FindWindow(lpClassName=None ...

  4. 按键精灵通过句柄获取窗口坐标_大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本...

    大漠插件后台找图.自动获取坐标窗口句柄鼠标多点左单击 脚本 一.准备工作 第一步:下载大漠插件.解压,运行"注册大漠插件到系统.bat",把全部东东都复制到按键精灵的plugin目 ...

  5. java窗口坐标_如何在Java中获取窗口外部的鼠标单击坐标

    尽管可能,但可能会受到限制: 为焦点事件添加一个AWTEventListener.只要您的应用在单击按钮之前就具有焦点,就会收到焦点丢失事件.然后查询指针位置. 限制是,当然,您的应用程序失去了焦点. ...

  6. python获取mac窗口坐标_[代码全屏查看]-Python3根据IP地址获取MAC地址

    [1].[代码] [Python]代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import platform import ...

  7. wpf 如何实现窗口浮动_如何实现工作表数据与UserForm窗口的交互,显示第一条记录...

    大家好,我们今天继续讲解VBA数据库解决方案,今日讲解的是第77讲:工作表数据与UserForm窗口的交互:第一条记录的显示.从这讲开始,我将利用7讲的时间,给大家详细讲解一个工作表数据库的准实例,虽 ...

  8. yii2 后台权限验证获取用户身份_前、后端分离权限控制设计与实现

    作者:佚名 来源:Web开发 简述 近几年随着react.angular.vue等前端框架兴起,前后端分离的架构迅速流行.但同时权限控制也带来了问题. 网上很多前.后端分离权限仅仅都仅仅在描述前端权限 ...

  9. swing退出子窗口事件_如何创建有效的退出弹出窗口?

    如何创建有效的退出弹出窗口? 下面的退出弹出窗口为电子邮件列表增加了4153个订阅者: 这个提供折扣的弹出窗口,帮助Storiarts在60天之内挽回了96个弃单客户,从而额外创造了5000美元的销售 ...

  10. python tkinter 窗口关闭_用python中的tkinter从顶层窗口关闭主窗口

    这是我的第一个问题,我是python和这个网站的新手.在 我正在设计一个与数据库交互的应用程序.我添加了一个"关闭"按钮,我想打开一个新窗口,询问"关闭程序?" ...

最新文章

  1. Xshell 连接ubuntu16.04 32位
  2. java 获取随机数字的三种方法
  3. python调用其他程序或脚本方法(转)
  4. Nicetools:定一个小目标,先做它个1000个工具
  5. 2020年11月 Oracle WebLogic 高危预警:CVE-2020-14750 无需认证攻击
  6. 上线随想之2011-03-26
  7. rx590 黑苹果 无货_黑苹果配置挑选,教你组装一台苹果机
  8. 未名湖边的桃花儿开了,就在前几天。
  9. 笔记本拆机后无法开机是什么原因
  10. 拼多多商品详情如何获取呢?进来手把手教你
  11. GPS测量原理及应用 知识总结
  12. Mysql——DQL(查询语句语法、格式、举例)以及全部数据库源码,复制就可实现全部功能
  13. 一些实用的镜像网站推荐
  14. STM32F407配置PLLI2SCLK实现特定50MHz时钟驱动83848
  15. 串口通信原理详解232、422、485
  16. 2022爱分析・时尚品牌数字化实践报告
  17. 少说话多写代码之Python学习008——字符串的方法02
  18. 河南太康一高高考成绩查询2021,太康一高 2020年高考捷报:清华、北大录取人数有望突破两位数……...
  19. osc协议测试软件,CommsKit(协议测试工具)
  20. spring boot 使用 grade构建

热门文章

  1. 3D resnet根据UCF101数据集制作自己的数据集实现动作识别
  2. html扫雷源码js,js实现扫雷源代码
  3. 高中计算机应用基础知识课件,计算机应用基础知识讲义课件.ppt
  4. 揭秘黑客攻击内幕和20个黑客相关术语
  5. HTML动态视频背景全代码
  6. 字符常量和字符串常量
  7. 计算机专业线性代数教学大纲,《线性代数》教学大纲
  8. rtl8187L驱动在linux2.6.35上的编译
  9. 【Java】Java文件读写
  10. POJ 3660 Cow Contest(Floyd求传递闭包(可达矩阵))