vb 句柄怎么用

vb 句柄怎么用,第1张

句柄主要用于对象的 *** 作(这不同于内核不需要句柄可以直接 *** 作对象体)

比如:

进程句柄可以通过

openprocess获取,句柄就代表了该进程对象,所有对该进程的 *** 作都是可以通过该句柄来实现的,比如结束结束进程TerminateProcess

等等

还有类似像文件句柄(CreateFile/fopen),事件句柄等等

简单说就是为了 *** 作对象

API:

GetForegroundWindow 可以获取到有焦点的顶层窗口

获取有焦点的子窗口只能用GetFocus,但是如果当前顶层窗口属于其他线程,GetFocus将返回NULL。没有好的办法解决,除非AttachThreadInput或者用钩子(HOOK)

一般是用钩子程序的。

比较复杂,只能说个大体思路,要花最少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表示其长度。该方法写入时,文本框中原有内容全部覆盖。

以上就是关于vb 句柄怎么用全部的内容,包括:vb 句柄怎么用、VB 如何 获得光标所在窗体控件的句柄、VB 获取其他程序控件的句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存