vb怎么获取控件句柄和内容

vb怎么获取控件句柄和内容,第1张

先找到窗口的句柄,再来查找按钮的句柄,如果按钮有文本内容,那就好办,如果没有,那建议你利用SPY++先来察看一下按钮的类型,以此类型为查找参数多次调用FindWindowEx来查找,直到找到的的句柄和Spy++相同,那么这个按钮就找到了。

按钮类名同样,但是你去遍历的时候它的次序始终是固定的。通过id不可靠,有些有id但是有些id是0。

clswindow类,里面有个函数etElementHwndByClassName,可以得到指定的次序按钮。加入你要处理的按钮是在第二个次序,类名为Button,那么就用:GetElementHwndByClassName("Button",2),即可,

具体代码:

Private Sub Command6_Click()

Dim w As New clsWindow

Dim i%

If wGetWindowHwndByTitleEx("自动化 *** 作框架") > 0 Then

i = i + 1

Do While wGetElementHwndByClassName("ThunderCommandButton", i) > 0'按次序遍历

MsgBox wGetElementHwndByClassName("ThunderCommandButton", i)'得到当前次序按钮的句柄

wSetElementTextByClassName "ThunderCommandButton", "次序" & i, i'设置按钮文本

i = i + 1

Loop

End If

End Sub

它是一个子窗口,没有标题,每次登陆时类名就变了,怎么得到它的窗口句柄呢?用Findwindow没用啊!

你是什么语言??VB还是C++?

给你个VB CODE :

Function GetQQpath()

Dim ps, s '获取QQ进程所存在的路径

s = "qqexe"

For Each ps In GetObject("winmgmts:\\\root\cimv2:win32_process")instances_ '循环进程

If UCase(psName) = UCase(s) Then

Form1Label1Caption = psexecutablepath

GoTo q

End If

Next

q:

End Function

这个可以用知道进程名就可以知道程序路径了,原理很简单。自己摸索、

(针对新手: 结果显示在label1上面。否则会出现缺少对象)

Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Type POINTAPI

x As Long

y As Long

End Type

Private Sub Timer1_Timer()

Dim a As POINTAPI

GetCursorPos a

b = WindowFromPoint(ax, ay)

MeCaption = b

End Sub

添加一个timer控件 代码如上 取得句柄在窗体标题处显示

标记编程语言 (Markup Languages) 是一种人造语言,它使用文本注释来定义这些文本的显示方式。

以上就是关于vb怎么获取控件句柄和内容全部的内容,包括:vb怎么获取控件句柄和内容、通过api获取窗口句柄是通过类名和标题得到,如果我软件标题不固定。还有什么其它的方法得到窗口句柄、怎么样得到控件所在的窗口句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9734675.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存