ComboBox类的SetWindowText 为何不能成功?该怎么解决
ComboBox类的SetWindowText 为何不能成功?
想做一个QQ登陆的东东(这个东东网上早就有了,但我想自己亲自做一个),就是开启QQ后,自动输入号码和密码,自动登陆!
我用SPY++查了一下,号码框是一个ComboBox类,密码框是一个#32770类,
但我想用SetWindowText的时候却是怎么也不成功,不知为何?
HWND hwnd=::FindWindow(NULL, "QQ用户登录 ");
if(hwnd)
{
HWND hwnd2=::FindWindowEx(hwnd,NULL, "ComboBox ",NULL);
if(hwnd2)
{
FromHandle(hwnd2)-> SetWindowText( "1234 ");//不成功
}
}
------解决方案--------------------
因为QQ密码框是登陆框的子窗口,先要找到登陆框后再一步步找到QQ的密码框。
具体请参考此文:里面有实现
http://www.vckbase.com/document/viewdoc/?id=1676
------解决方案--------------------
QQ的密码输入框实际是一个对话框里面嵌一个Text Edit,那个control ID全是0的是对话框,对话框应该有个子窗口,其control ID是0x3EA6,即16038.正因为那个对话框窗口的control ID 全是0,所以才要WHILE遍历登录框的子窗口找到密码输入框。
想做一个QQ登陆的东东(这个东东网上早就有了,但我想自己亲自做一个),就是开启QQ后,自动输入号码和密码,自动登陆!
我用SPY++查了一下,号码框是一个ComboBox类,密码框是一个#32770类,
但我想用SetWindowText的时候却是怎么也不成功,不知为何?
HWND hwnd=::FindWindow(NULL, "QQ用户登录 ");
if(hwnd)
{
HWND hwnd2=::FindWindowEx(hwnd,NULL, "ComboBox ",NULL);
if(hwnd2)
{
FromHandle(hwnd2)-> SetWindowText( "1234 ");//不成功
}
}
------解决方案--------------------
因为QQ密码框是登陆框的子窗口,先要找到登陆框后再一步步找到QQ的密码框。
具体请参考此文:里面有实现
http://www.vckbase.com/document/viewdoc/?id=1676
------解决方案--------------------
QQ的密码输入框实际是一个对话框里面嵌一个Text Edit,那个control ID全是0的是对话框,对话框应该有个子窗口,其control ID是0x3EA6,即16038.正因为那个对话框窗口的control ID 全是0,所以才要WHILE遍历登录框的子窗口找到密码输入框。