找回密码
 加入
搜索
查看: 263|回复: 8

[网络通信] 【已解决】怎么根据标题和文本获取控件类名接口?

[复制链接]
发表于 2024-1-29 12:01:57 | 显示全部楼层 |阅读模式
本帖最后由 itqijian 于 2024-2-2 22:34 编辑




怎么根据标题和随机文本位置,获取指定程序名(如:bfsvc.exe)  的 控件类名 (如:Edit3或者编辑框的顺序3)

只会获取句柄: MsgBox(0,"获取控件句柄",ControlGetHandle("配置文件","bfsvc",''))



有什么函数可用?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2024-1-30 14:29:49 | 显示全部楼层
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; 运行记事本程序
    Run("notepad.exe")

    ; 延迟 10 秒, 等待记事本窗口出现.
    Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)

    ; 使用 WinWait() 返回的句柄检索记事本窗口的类名列表.
    Local $sClassList = WinGetClassList($hWnd)

    ; 显示类名列表.
    MsgBox($MB_SYSTEMMODAL, "", $sClassList)

    ; 使用 WinWait 返回的句柄关闭记事本窗口.
    WinClose($hWnd)
EndFunc   ;==>Example
发表于 2024-1-30 14:38:20 | 显示全部楼层

弄错了,获取控件类名用_WinAPI_EnumChildWindows()试试吧。
 楼主| 发表于 2024-1-30 15:36:44 | 显示全部楼层
fybhwsx 发表于 2024-1-30 14:38
弄错了,获取控件类名用_WinAPI_EnumChildWindows()试试吧。

好像和这个差不多 _WinAPI_GetClassName   都只是获取到类名 如Edit ,没有完整的Edit3 或者 顺序3.
 楼主| 发表于 2024-2-2 15:42:18 | 显示全部楼层
谁可以帮忙看下怎么办?
发表于 2024-2-2 19:27:04 | 显示全部楼层
本帖最后由 fybhwsx 于 2024-2-2 19:33 编辑

你这不是要找控件类名,是要查找控件接口,用循环吧。。

        Local $kjjk
        For $i = 1 To 999
                If ControlGetText('配置文件', 'bfsvc', 'Edit' & $i) Then
                        $kjjk = 'Edit' & $i
                        ExitLoop
                EndIf
        Next
 楼主| 发表于 2024-2-2 19:59:58 | 显示全部楼层
fybhwsx 发表于 2024-2-2 19:27
你这不是要找控件类名,是要查找控件接口,用循环吧。。

        Local $kjjk

bfsvc 位置是随机 ,获取失败, 取消ExitLoop 是获取全部的Edit接口数量。

还是没有达到,根据标题和随机文本位置,获取指定程序名控件接口 (如:Edit3或者编辑框的顺序3)
发表于 2024-2-2 20:25:38 | 显示全部楼层
        Local $kjjk
        For $i = 1 To 999
                If StringInStr(ControlGetText('配置文件', '', 'Edit' & $i), 'bfsvc') Then
                        $kjjk = 'Edit' & $i
                        ExitLoop
                EndIf
        Next
        MsgBox($MB_SYSTEMMODAL, "", "$kjjk: " & $kjjk)

这样试试。。
 楼主| 发表于 2024-2-2 22:32:16 | 显示全部楼层
fybhwsx 发表于 2024-2-2 20:25
Local $kjjk
        For $i = 1 To 999
                If StringInStr(ControlGetText('配置文 ...

谢谢帮助,可以完美解决。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-5 08:04 , Processed in 0.081909 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表