一个操作windows窗口的类“clsWindow”,使用非常方便!含源码 V2.2

通过github下载本框架:https://github.com/sysdzw/clswindow 先点击右边的绿色按钮,然后再点击蓝色按钮

使用手册:https://www.kancloud.cn/sysdzw/clswindow/

使用范例:https://www.kancloud.cn/sysdzw/clswindow/1488906

 

功能描述

clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如得到窗口句柄,得到窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单!


这个类楼主很早就开始封装了,原本打算做成类似DOM对象那样,通过一堆getElmentByXXX等方法实现对桌面程序下各个窗口以及里面各个控件对象的自由访问,但是具体要做的工作太多,目前只实现了一部分,期待大家一起加入更新维护。

目前该类封装了绝大部分对windows窗口的常用操作,例如:获取窗口句柄,设置窗口为活动窗口,设置窗口内文本框内容,点击窗口内的某些按钮等。

这个类现在还在一直不断地扩充,功能已经很强大很广泛,使用它可以轻而易举地设置窗口标题栏文字,移动窗体等等。以前要实现这些操作常常需要一大堆api函数,现在只需要一点点代码就可以了,完全让您脱身于api函数的海洋。当然您需要研究每个方法实现原理的话可以看一看源代码。


 

使用范例(请在v1.9以上测试):

1)关闭腾讯新闻窗口“腾讯网迷你版”。
 

Dim window As New clsWindow
If window.GetWindowByTitle("腾讯网迷你版").hWnd <> 0 Then
    window.CloseWindow  '关闭窗口
End If

 

以上是不是很简洁呢?

 

 

20150715更新追加:

最新1.9版本更简洁,一句话解决:

w.GetWindowByTitle("腾讯网迷你版").CloseWindow

小伙伴,是不是简洁爆了呢?:)

为了防止程序找不到窗口而一直等待可以改成:

w.GetWindowByTitle("腾讯网迷你版",1).CloseWindow

(意思为超时等待1秒。默认会耐心等60秒。除非你确定窗口一定会有,那么就用上面的不带延时1秒的。)


2)获取某个打开的记事本里面的内容。假设记事本标题为“测试.txt - 记事本”,通过SPY等工具查看得知记事本的文本框类名为:Edit,那么我们编写程序如下:

Dim window As New clsWindow
If window.GetWindowByTitle("测试.txt - 记事本").hWnd <> 0 Then
    MsgBox window.GetElementTextByClassName("Edit")
End If


这个看起来也很简单,方法自由还可以使用正则匹配,可以写成下面这样:
 

Dim window As New clsWindow
If window.GetWindowByTitleEx("测试\.txt.*?", , , True).hWnd <> 0 Then
    MsgBox window.GetElementTextByClassName("Edi", , True) '第三个参数表示是否使用正则,默认为false
End If

 

获取标题那边如果觉得要把标题写完整太麻烦,可以将GetWindowByTitle改成GetWindowByTitleEx然后后面只要写关键字就行啦。看招:

Dim window As New clsWindow
If window.GetWindowByTitleEx("测试").hWnd <> 0 Then
    MsgBox window.GetElementTextByClassName("Edit")
End If

应用参考:https://bbs.csdn.net/topics/390435884

 

更多演示案例:

01 控制微信发送消息
02 控制QQ发送消息
03 QQ登录器
04 花式调用计算器
05 用鼠标画圆
06 控制记事本输入并保存
07 随机移动鼠标防锁屏
08 根据ID进入腾讯课堂
09 实战:微便签-窗口特效
10 实战:窗口图钉-窗口置顶

 

 

 

 

 

 

类成员结构图 V2.2:

 


clsWindow类最新版下载请关注博客:
http://blog.csdn.net/sysdzw/article/details/9083313

 

使用集锦:

对于一个窗体中存在多个相同类名的输入框该如何区分填写?

https://blog.csdn.net/sysdzw/article/details/100088981

sysdzw
QQ:171977759


15:09 2013-6-13

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无·法

别打赏了,这C币又不能买咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值