## **描述**
设置根据窗体类名得到窗口句柄,可以指定等待几秒检测指定类名的窗体是否出现,默认是等待10秒,允许使用正则表达式。
## **语法**
GetWindowByClassNameEx(*strClassName[, intWaitSeconds= 10[, hWndAll[, isUseRegExp = False[, checkPid[, windowVisible = AllWindow]]]]]*)
**该语法中有下列命名参数:**
| 参数 | 描述 |
| --- | --- |
| strClassName | 必须的。String类型,表示要查找的窗口的类名,可以只写一部分,不过为了窗口查找准确建议还是写完整类名,如果要对此参数进行正则控制可将第4个参数isUseRegExp设置为True。 |
| intWaitSeconds | 可选的。Long 类型,表示等待超时时间。如果忽略,缺省值是 10,它表明最多等待10秒钟 |
| hWndAll| 可选的。String类型。注意,此函数是byRef(传地址)方式,由外部传入一个变量,函数得到的所有句柄都将存到这个变量中。 |
| isUseRegExp| 可选的。Boolean类型,表示是否使用正则匹配模式。如果忽略,缺省值是False。 |
| checkPid | Optional 可选的。Variant类型,表示指定的进程pid。如果忽略,缺省值是 "",表示未指定。 |
| windowVisible | 可选的。enumWindowVisible类型,表示指定所需要获得的窗口可见属性。如果忽略,缺省值是 AllWindow,它表明不管什么状态(可见&不可见)的窗口都获取。关于enumWindowVisible类型的介绍请参考下面“**enumWindowVisible类型的设置值**”表的介绍。 |
**enumWindowVisible类型的设置值:**
| 设置 | 描述 |
| --- | --- |
| HiddenWindow | 隐藏的窗口 |
| DisplayedWindow | 显示的窗口 |
| AllWindow| 以上两种窗口都包含 |
## **返回值**
| clsWindow |
| --- |
| 返回值为本身,方便连写 |
## **示例**
> 说明:打开记事本,直接运行下面代码测试。
```
Dim w As New clsWindow
MsgBox w.GetWindowByClassNameEx("Notepad").Caption
MsgBox w.GetWindowByClassNameEx("Notep.*?", , , True).Caption
Dim s As String
w.GetWindowByClassNameEx "\d", , s, True '将当前系统中所有含数字的窗口句柄都搜集放入s
MsgBox s
```
- 关于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 相同标题的窗口如何得到所有句柄?
- 联系我们