VB 如何查同级句柄,

VB 如何查同级句柄,,第1张

FindWindowEx的第一个参数是父窗口句柄,如果为0,就是表示父窗口为桌面,也就是找一级窗口。第二个参数则表示从这个窗口开始继续查找下一个兄弟窗口,如果为0就是从第一个窗口开始找。

从上所述可看出,要依次查找同级窗口,关键在于第二个参数,先把第二个参数设为0,找到第一个窗口,然后再把这个窗口的句柄作为第二个参数再次查找,就能找到第二个同级窗口,以此类推,直到句柄为0就表示没有同级窗口了。

这种方法适合用来遍历有多个兄弟窗体、而且每个窗体的标题和类名都相同的情况。

代码我相信你自己会写了吧?

同一款软件在同一台电脑运行两次,其句柄都是不一样的,更何况是在不同的电脑上。句柄其实就是系统给所有已运行的窗口的编号,就像买火车票,大家的票号码都不同,而你如果一次买多张票也不可能买到相同的票的。有了票,就可以对号入座了。句柄也一样,程序设计人员可以根据句柄对不同的窗口进行各种 *** 作和控制。

Private Function MyFindWindow() As Long

Dim A_szClassName(3) As String, i As Integer

A_szClassName(0) = "#32770"

A_szClassName(1) = "#32770"

A_szClassName(2) = "Edit"

Dim A_szWinName(3) As String

A_szWinName(0) = "“万能解码器”安装 "

A_szWinName(1) = ""

A_szWinName(2) = ""

Dim hLastWin As Long

hLastWin = FindWindow(A_szClassName(0), A_szWinName(0))

For i = 1 To 2

hLastWin = FindWindowEx(hLastWin, 0, A_szClassName(i), A_szWinName(i))

Next i

MyFindWindow = hLastWin

End Function


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

原文地址:https://54852.com/yw/12196223.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存