VB 获取其他程序控件的句柄

VB 获取其他程序控件的句柄,第1张

一般是用钩子程序的。

比较复杂,只能说个大体思路,要花最少30分钟。分太少了。

API函数的声明就不说了。

先用findwindow找到窗体,用GetWindow和GetClassName获得其窗体内各对象的句柄,从而可以获得文本框的句柄。

最后用SendMessage函数想文本框发送文本。

tWnd = FindWindow(vbNullString, "窗口名")可以获得外部程序窗口的句柄twnd

bwnd = GetWindow(tWnd, GW_CHILD)可以获得该窗口子对象的集合句柄bwnd

Do Until bwnd = 0

GetClassName bwnd, sSave, 250

If InStr(1, UCase(sSave), "EDIT", vbTextCompare) <>0 Then

editwnd = bwnd

Exit Do

End If

bwnd = GetWindow(bwnd, GW_HWNDNEXT)

Loop

以上代码可以读到该窗口中的第一个文本框的句柄editwnd

SendMessage editwnd, WM_SETTEXT, 6, "王小明"

以上代码向editwnd中写入“王小明”,6表示其长度。该方法写入时,文本框中原有内容全部覆盖。

首先 找到 找到外部程序的主窗口的句柄 然后再查找其子窗口

父窗口用findwindow就可以 子窗口要指定要查找窗口的class

windows 中每一个窗口都有一个类的

比如记事本的文本框 类名叫edit VB的textbox 类名叫ThunderRT6TextBox

等等

1、首先在电脑中打开VB软件,然后点击窗口。

2、然后找到窗体布局窗口,就可以在这里,直接拖曳鼠标,设置窗体的位置。

3、如果没有默认打开,回到 *** 作页面中,找到并点击如下图的按钮。

4、也可以找到stateUpPosition这个属性。

5、然后在打开点页面中,就可以根据自己的需要,设置预设的类型了。


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

原文地址: http://outofmemory.cn/yw/8088529.html

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

发表评论

登录后才能评论

评论列表(0条)

保存