## 说明:
本案例是使用clsWindow2.2框架调用系统计算机做一些操作,旨在熟悉框架的控件操作部分的一些函数用法。
## 测试环境:
>[info]win7x64 + clsWindow2.2
**说明:** 如果不能用可能是您的版本太旧,或者操作系统版本不一样,请仔细检查并修改相应代码。以下代码2020-02-05测试通过,本代码不保证更新。
## 声明:
>[warning]本代码免费,可用于任何商业用途,但请勿做非法用途,所引起的一切后果由使用者本人承担。
## 代码:
请向窗口添加按钮Command1,然后复制下面代码后点击按钮运行。
```
'设置窗口位置
Private Sub Command1_Click()
Dim i&, j&, lngLeft&, lngTop&, strHwnd$, v
Command1.Enabled = False
Dim w As New clsWindow
'横排依次打开4个计算器
For i = 1 To 4
w.GetWindowByTitleEx "计算器", 2, Shell("calc.exe", 1)
w.Caption = "句柄为:" & w.hWnd
w.Move lngLeft, 300
lngLeft = lngLeft + w.Width
strHwnd = strHwnd & w.hWnd & ","
Next
w.GetWindowByTitleEx "计算器", 2, Shell("calc.exe", 1)
strHwnd = strHwnd & w.hWnd & ","
w.Wait 20
'向下移动
For i = 0 To Screen.Height / 15 - w.Height Step 10
w.Wait 5
w.Move lngLeft, i
Next
'再回头
For i = Screen.Height / 15 - w.Height To 300 Step -10
w.Wait 5
w.Move lngLeft, i
Next
w.Move lngLeft, 300
'竖排依次打开3个计算器,并且处理为渐渐移动到右边的效果
For i = 1 To 3
w.GetWindowByTitleEx "计算器", 2, Shell("calc.exe", 1)
w.Caption = "句柄为:" & w.hWnd
For j = 0 To Screen.Width / 15 - w.Width Step 10
w.Wait 10
w.Caption = "坐标(" & j & "." & lngTop & ")"
w.Move j, lngTop
Next
lngTop = lngTop + w.Height
strHwnd = strHwnd & w.hWnd & ","
Next
v = Split(strHwnd, ",")
'激活测试,窗口全部激活一遍,注意标题会闪动一下
w.Wait 1000
For i = 0 To UBound(v) - 1
w.hWnd = v(i)
w.Focus
w.FadeIn 20
Next
'1秒后逐步关闭所有刚刚打开的窗口
w.Wait 1000
For i = UBound(v) - 1 To 0 Step -1
w.hWnd = v(i)
w.Wait 100 '延时是为了看到逐步关闭的进程,不然一下子关了看不到效果
w.CloseWindow
Next
Command1.Enabled = True
End Sub
```
- 关于clsWindow
- 一、获取窗口
- GetWindowByTitle 函数
- GetWindowByTitleEx 函数
- GetWindowByClassName 函数
- GetWindowByClassNameEx 函数
- GetWindowByPoint 函数
- GetWindowByAppName 函数
- GetWindowByAppNameEx 函数
- GetWindowByCursorPos 函数
- GetWindowByPID 函数
- GetWindowByHwnd 函数
- Load 函数(同GetWindowByHwnd)
- 二、操作窗口
- Focus 方法
- SetFocus 方法(同Focus)
- FadeIn 方法
- FadeOut 方法
- Transparent 函数
- SetTransparent 函数(同Transparent)
- MakeTransparent 函数(同Transparent)
- Shake 方法
- CloseWindow 函数
- ClassName 属性
- Caption 属性
- Text 属性(同Caption)
- Title 属性(同Caption)
- Value 属性(同Caption)
- ZOrder 方法
- Left 属性
- Top 属性
- Width 属性
- Height 属性
- Visible 属性
- Enabled 属性
- WindowState 属性
- AlphaBlend 属性
- TransparentColor 属性
- CheckWindow 函数
- Move 函数
- MoveToCenter 函数
- Show 函数
- Hide 函数
- Refresh 方法
- SetPosBottom 函数
- SetPosFront 函数
- SetPosNormal 函数
- SetTop 函数
- IsTopMost 函数
- IsForegroundWindow 属性
- Maximized 函数
- Minimized 函数
- Normal 函数
- Restore 函数(同Normal)
- 三、操作控件
- GetElementHwndByText 函数
- GetElementHwndByClassName 函数
- GetElementTextByText 函数
- GetElementTextByClassName 函数
- GetClassNameByHwnd 函数
- GetTextByHwnd 函数
- GetCaptionByHwnd 函数(同GetTextByHwnd)
- SetElementTextByText 函数
- SetElementTextByClassName 函数
- SelectComboBoxIndex 函数
- AppendElementTextByClassName 函数
- Click 函数
- ClickElementByText 函数
- ClickElementByClassName 函数
- SendKeys 方法
- Paste 方法
- FileToClipboard 函数
- ClipboardSetText 函数
- 四、鼠标坐标相关
- ClickCurrentPoint 方法
- ClickPoint 方法
- ClickPointBackground 方法
- SetCursor 方法
- MoveCursor 方法(同SetCursor)
- MoveCursorTo 方法(同SetCursor)
- SetPoint 方法(同SetCursor)
- GetCursorPoint 函数
- GetCursorPosCurrent 函数(同GetCursorPoint)
- MouseLeftDown 方法
- MouseLeftUp 方法
- MouseRightDown 方法
- MouseRightUp 方法
- DragTo 方法
- DragToEx 方法
- 五、应用程序相关
- AppPath 函数
- AppName 函数
- IsWin64 函数
- CommandLine 函数
- AppCommandLine 函数(同CommandLine)
- CloseApp 函数
- ProcessID 函数
- PID 函数(同ProcessID)
- 六、公有方法属性等
- hWnd 公有变量
- DebugMe 公有变量
- Wait 方法
- Version 方法
- 使用范例
- 01 控制微信发送消息
- 02 控制QQ发送消息
- 03 QQ登录器
- 04 花式调用计算器
- 05 用鼠标在画图工具上画圆
- 06 控制记事本输入并保存
- 07 随机移动鼠标防锁屏
- 08 根据ID进入腾讯课堂
- 09 限制程序重复打开
- 10 控制c2p软件将ceb转换为pdf格式
- 11 实战:微便签-窗口特效
- 12 实战:窗口图钉-窗口置顶
- 13 实战:微型按键精灵,录制和播放鼠标动作
- 一些Q&A
- 01 这个框架是免费的吗?
- 02 无句柄的控件元素如何操作?
- 03 目标窗体中有相同类名输入框如何区分填写?
- 04 为什么win10下最大化不生效?
- 05 如何确定绝对或相对坐标?
- 06 相同标题的窗口如何得到所有句柄?
- 联系我们