vb里的findwindowex api 怎么用?
我想达到:已知一个程序的地址和名字(C:\abc.exe),程序里有多个不同用途的输入框,通过api获取其中一个输入框的句柄,然后在里面输入的效果。用findwindow...
我想达到:已知一个程序的地址和名字(C:\abc.exe),程序里有多个不同用途的输入框,通过api获取其中一个输入框的句柄,然后在里面输入的效果。
用findwindowex行吗?如何调用? 展开
用findwindowex行吗?如何调用? 展开
1个回答
展开全部
首先你这个程序必须正在运行,然后需要先获取输入框所在的父窗口的句柄,然后再获取子控件句柄
dim h0&,h1&
h0=findwindowex(0,0,classname,"abc") '其中的classname是类名,如果类名未知可以用vbnullstring替代,abc是窗体的标题
h1=findwindowex(h0,0,classname,vbnullstring)'对于搜索子控件,可以不提供类名和控件名
如果有多个输入框的话,就需要递归调用findwindowex这个函数
h1=findwindowex(h0,h1,classname,vbnullstring)'直到获取正确的句柄
向输入框传递消息可以用sendmessage或者postmessage,但是具体方法要视输入框类型而定
dim h0&,h1&
h0=findwindowex(0,0,classname,"abc") '其中的classname是类名,如果类名未知可以用vbnullstring替代,abc是窗体的标题
h1=findwindowex(h0,0,classname,vbnullstring)'对于搜索子控件,可以不提供类名和控件名
如果有多个输入框的话,就需要递归调用findwindowex这个函数
h1=findwindowex(h0,h1,classname,vbnullstring)'直到获取正确的句柄
向输入框传递消息可以用sendmessage或者postmessage,但是具体方法要视输入框类型而定
追问
classname 是什么啊?
追答
窗体的类名。。。不要纠结这个名字。。。就是窗体或者控件类型的名字
比如VB6的窗体,类名就是ThunderRT6FormDC,VB6的文本框类名是ThunderRT6TextBox
不同的控件类名不一样的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询