如何得到某一个窗口的文本框的句柄,并写入相应的值

stevenpeng 2008-03-24 03:19:56
比如得到QQ上面的文本框,并写入相应的值
...全文
120 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lake_cx 2008-03-25
Delphi做的Label不是窗体,没有Handle,你就不要想了
回复
stevenpeng 2008-03-25
不是QQ,指是举例而已.
现在急于了解,如何取一个文本框或LABEL的值,并设置一个文本框的值
回复
lake_cx 2008-03-25
看了楼上说的,我就像,是不是当焦点在QQ密码框时,连DirectInput都会失效。。。
回复
jameshooo 2008-03-25
如果想控制QQ的登录密码框,就别费心了,QQ使用了一个第三方的虚拟键盘驱动,输入信息是加密且不可跟踪的,即使找到密码窗体普通方式也控制不了,防的就是想干坏事的人。
回复
scq2099yt 2008-03-25
SPY++
回复
TeddyGe 2008-03-24
具体思想呢是 先找到QQ这个窗口句柄, 再枚举这个窗口下的所有控件 下边就看你的想法了. 想找到什么就自己决定了.


BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam);

void CTest_ConnectDlg::OnBnClickedButton6()
{
CWnd *pWnd = FindWindow(NULL, "DIALOG");
if (pWnd != NULL)
{
EnumChildWindows(pWnd->GetSafeHwnd(), EnumChildProc, 0) ;
}

}


BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
{

CString cstrText ;

//我的是根据控件上的文件来找想要的控件
GetWindowText(hwnd, cstrText.GetBuffer(50), 50) ;
if ( cstrText == "好友列表" )
{

}

return TRUE ;
}
回复
cnzdgs 2008-03-24
似乎很多人在盯着QQ啊。
先用SPY++查出从主窗口到目标控件的各层控件的类名和次序。在程序中先FindWindow找出主窗口,然后再用FindWindowEx逐层找出控件,最后向控件发WM_SETTEXT消息。
回复
iyranly 2008-03-24
HWND WindowFromPoint(
POINT Point // point
);

获得控件的HWND后,就可以
BOOL SetWindowText(
HWND hWnd, // handle to window or control
LPCTSTR lpString // title or text
);

在这个过程中你可能还需要SetCapture(true);
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-03-24 03:19
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……