如何获得另外一个应用程序中的控件句柄

 我来答
野人无事不言L
2015-11-28 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:144.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表示其长度。该方法写入时,文本框中原有内容全部覆盖。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式