vb,如何可以获取其他正在运行的执行程序中某一个文本框,并可以修改保存 20
就好比QQ登陆框,我通过自己的程序去修改号码和密码,然后保存啊,太夸张了吧,我只是想做一个可以实现一个小功能的东西,而且不是去搞别人,是自己做的一个小程序而已...
就好比QQ登陆框,我通过自己的程序去修改号码和密码,然后保存
啊,太夸张了吧,我只是想做一个可以实现一个小功能的东西,而且不是去搞别人,是自己做的一个小程序而已 展开
啊,太夸张了吧,我只是想做一个可以实现一个小功能的东西,而且不是去搞别人,是自己做的一个小程序而已 展开
2个回答
展开全部
这个不难啊。先用Shell “X:\QQ\QQ.exe” 打开你的QQ登陆窗口,然后用 FindWindow找到这个登陆窗口的句柄。FindWindow的用法是FindWindow(窗体类名,窗体标题),窗体类名你可以用SPY++、WndSpy之类的窗体信息查看工具来看;窗体标题就是窗体框的名字。比如如果你的QQ版本是2010的话就可以用FindWindow(VBNullString,"QQ2010")找到这个窗体得到它的句柄。这时要注意,如果系统有已经登陆的QQ的话,它的窗体标题也是QQ2010,这时你就要区分是已经登陆的QQ还是登陆框,你需要的是QQ登陆框。这你可以通过GetWindowRECT分别取得它们的LEFT,TOP,RIGHT,BOTTOM, 从而得到窗体的宽度和高度来区别。QQ2010的登陆框应该是固定的宽高吧,我的是340*250,这个你也可以用窗体侦探来查看一下。得到窗体句柄后就好说了。还用窗体侦探,可以看到QQ2010的帐号输入框、密码输入框都是这个QQ2010登陆框的子窗体。当然这两个子窗体是没有标题的,那就用窗体侦探来看它们的类名。我这里得到的是帐号输入框的类名是“ATL:30A441A8”,密码框的类名是“EDIT”。得到类名后就用FindWindowEx(父窗体句柄,0,子窗体类名,子窗体标题)来查找。父窗体句柄就是刚到的QQ2010登陆框的句柄了。比如我的帐号框可以用FindWindowEx(登陆框句柄,0,“ATL:30A441A8”,VBNullstring)来查找,密码可以用FindWindowEx(登陆框句柄,0,“Edit”,VBNullstring)。得到它们的句柄就用PostMessage()来给帐号窗口和密码窗口发送字符消息了。但一般PostMessage一次只能发送单个字符消息(其实你一个字符一个字符发也可以的),如果要发送字符串,比如你的QQ号和密码一次发到登陆框,还需要另外写个函数。等把帐号、密码都发过去了,再给登陆框发送个回车的按键消息,就可以登陆了。当然也可以找到登陆框窗体上“记住密码”、“自动登陆”、登陆按钮的坐标(因为它们都不是独立的窗体了),然后仍然用PostMessage()发送WM_LButtonDown和WM_LButtonUP消息给刚才的坐标,从而达到自动勾选“记住密码”、“自动登陆”和按键下“登陆”键的目的。这样就登陆了吧。我说的够详细的了,不明白可以自己百度查一下,有必要也可以联系我。给分吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询