很多朋友都对窗口句柄比较迷糊,这篇短文就以spy++这个软件为主,介绍下窗体句柄和使用按键插件时
,如果对这个句柄发送消息,即所谓的后台挂机。
spy++这个软件来自VC++,装好VC后,就可以在工具中看到。

下载 (21.27 KB)

2007-10-4 22:34

我们以“记事本”为例,看看如果给记事本发送按键消息。
首先启动记事本

下载 (10.08 KB)

2007-10-4 22:34

随后启动SPY++

下载 (58.82 KB)

2007-10-4 22:34

使用spy++的查找功能

下载 (60.37 KB)

2007-10-4 22:34

点开后的效果

下载 (58.91 KB)

2007-10-4 22:38

我们把黑色准星拖动到记事本窗体上

下载 (68.65 KB)

2007-10-4 22:38

然后点击“确定”,看到了SPY++已经显示了下图红色的内容。

下载 (60.32 KB)

2007-10-4 22:34

这三个句柄从上到下依次是:
记事本的主句柄
文字输入框的句柄
状态栏的句柄
我们要给记事本发送按键消息,就要选对发送对象(句柄),这里显然,我们要发送给“文字输入框”。我们双击“文字输入框”这里,可以看到“窗口标题”、“窗口大小”、“窗口位置”等信息。点击“类”选项卡,查看下类名是什么,代码里需要类名做参数

下载 (51.88 KB)

2007-10-4 22:34

好了,基本的数据都有了,下面给出的代码:

  1. //打开记事本
  2. VBSCall RunApp("notepad.exe")
  3. //等待记事本完全打开
  4. Delay 100
  5. //得到当前窗口句柄
  6. dim hwnd
  7. Plugin hwnd=Window.Foreground()
  8. //查找当前窗口下的子句柄
  9. dim edithwnd
  10. Plugin edithwnd=Window.FindEx(hwnd,0,"Edit",0)
  11. //发送字符串消息
  12. Plugin Window.SendString(edithwnd, "看我发送字符串消息")
  13. //发送回车
  14. Plugin Window.SendKeyDown(edithwnd,13)
  15. //发送键盘消息
  16. Plugin Window.SendKeyDown(edithwnd,asc("1"))

Spy++的使用方法相关推荐

  1. Spy++的使用方法及下载

    很多朋友都对窗口句柄比较迷糊,这篇短文就以spy++这个软件为主,介绍下窗体句柄和使用按键插件时 ,如果对这个句柄发送消息,即所谓的后台挂机. spy++这个软件来自VC++,装好VC后,就可以在工具 ...

  2. jasmine.spy对象的and.returnValue方法单步调试

    都已经是被spy之后的方法了: CallTracker.track就是把调用上下文放到一个calls数组里: delegate给strategy: 真正的执行体: 返回一个Observable对象: ...

  3. SPY++ 学习总结

    spy++使用方法 分步阅读 spy++ 是微软 Visual Studio 编译器自带的一款工具.它可以显示系统对象(包括进程.线程和 窗口)之间关系的图形树,搜索指定的窗口.线程.进程或消息, 查 ...

  4. Visual Studio 2019 (VS2019)安装Spy++工具

    Visual Studio 2019 ()VS2019)安装Spy++工具 Microsoft Spy++是一个非常好的查看Windows操作系统的窗口.消息.进程.线程信息的工具,简单易用,功能强大 ...

  5. mock与spy的区别

    mock与spy的区别 1. mock 1.1 mock对象的方法不执行具体逻辑 1.2 使用方法打桩返回给定数据 1.3 mock如何执行具体逻辑? 2. spy 2.1 spy对象的方法执行具体逻 ...

  6. android mock测试资源,Android 单元测试 --Mock 及 Mockito

    以前我在 Mock 概念 所谓的 Mock 就是创建一个类的虚假的对象,在测试环境中,用来替换掉真实的对象,主要提供两大功能: 验证这个对象的某些方法的调用情况,调用了多少次,参数是什么等等 指定这个 ...

  7. 单元测试源码分析之一创建mock对象

    之前已经介绍过Mockito和PowerMock的常见用法,PowerMock其实就是在Mockito的基础上使用了字节码技术使得其可以对静态方法,私有方法等进行插桩. 现在就先来看看Mockito是 ...

  8. Angular单元测试框架里API toHaveBeenCalledTimes的工作原理

    看这样一段代码: let spiedFirstFocusable = spyOn(keyboardFocusService,'findFirstFocusable').and.returnValue( ...

  9. Angular jasmine单元测试框架spied method的调用记录数据结构

    基于UnknownErrorHandler的handleError方法创建一个spy 方法: 第40行调用的是spied之后的新方法: 因为调用的是Spied之后的wrapper方法,在wrapper ...

最新文章

  1. 视频监控成AI芯片主战场,海康威视和大华股份占据半壁江山
  2. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)
  3. linux日志中显示skipping,linux推荐使用logrotate自动管理日志文件
  4. java 数据排序需求分析_java 实现数组全排序
  5. python 换脸 github_人脸识别和换脸相关深度学习开源项目github汇总
  6. 前端学习(3104):react-hello-虚拟dom的两种创建方式
  7. python求组合数c_科学网—Python 组合函数 C(n,m) - 杨玠的博文
  8. Spring Security:基于内存的角色授权
  9. pythonenumapi_python模块之enum_上
  10. linux之秘钥登录
  11. MacBook 键盘出现故障,如何修复?
  12. 【晒出你的第83行代码】跬步千里,十二年的老代码更是技术的沉淀!
  13. Catalent康泰伦特上海外高桥临床供应中心扩建温控产能;富士胶片发布2021财年第三季度财报 | 医药健闻...
  14. matlab 空间向量的夹角,空间两向量之间的旋转角如何求?角度范围在0-360°
  15. Windows快捷键
  16. iOS - 递归遍历文件夹下的所有文件
  17. 斐波拉契数列 java实现
  18. 数据结构与算法——19. 散列函数设计方法
  19. 最终酬劳高达7.5亿美元,库克是功成身退还是潦草收场?
  20. 【深度之眼cs231n第七期】笔记(四)

热门文章

  1. 大专计算机网络信息安全工资,网络信息安全工程师工资待遇分析报告 - 职业圈...
  2. 价格贵上市迟:开发者对谷歌眼镜失去兴趣
  3. Google Glass终于像眼镜了
  4. 提权,远控生成器,查看浏览器缓存,xp密码破解
  5. File.createNewFile和 File.createTempFile比较和区别
  6. File类createNewFile与createTempFile的区别
  7. godaddy长期有效的优惠码,每单优惠1美金,无金额限制。
  8. GoDaddy优惠码
  9. 清理linux缓存及临时文件,【小知识】缓存和临时文件
  10. Aso主要影响因素有哪些?