实现:获取指定窗口句柄小工具

Posted zpchcbd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现:获取指定窗口句柄小工具相关的知识,希望对你有一定的参考价值。

对话框头文件中

    HICON m_hIcon;
    HCURSOR mCursor; //定义鼠标
    RECT rect; //定义鼠标形状
    HWND hDest; //获得的目标句柄
BOOL CMy9Dlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();
....
    mCursor = LoadCursor(NULL, IDC_SIZEALL); //默认带有箭头
    GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);

...
void CMy9Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
    if (point.x >= rect.left && point.x <= rect.right || point.y >= rect.top && point.y <= rect.bottom) {
        SetCapture(); //开始捕获
        SetCursor(mCursor); //当范围匹配,就对当前光标进行改变
    }
    CDialogEx::OnLButtonDown(nFlags, point);
}
void CMy9Dlg::OnLButtonUp(UINT nFlags, CPoint point)
{
    POINT pt = point;
    CString mString;
    wchar_t sName[64];
    wchar_t sContent[64];
    ReleaseCapture();
    ClientToScreen(&pt);
    hDest = ::WindowFromPoint(pt); //获取指定POINT的窗口的句柄
    mString.Format(_T("0x%.8x"), hDest);
    SetDlgItemText(IDC_EDIT1, mString);

    GetClassName(hDest, sName, MAX_PATH); //获取类名
    SetDlgItemText(IDC_EDIT2, sName); 
    
    ::SendMessage(hDest, WM_GETTEXT, (WPARAM)64, (LPARAM)sContent); //获取标题
    SetDlgItemText(IDC_EDIT3, sContent);


    CDialogEx::OnLButtonUp(nFlags, point);
}

技术图片

以上是关于实现:获取指定窗口句柄小工具的主要内容,如果未能解决你的问题,请参考以下文章

EnumChildWindows 如何得到子窗体句柄的集合? 求高人指点

MFC中怎样获取指定窗口的句柄

C#获取当前窗体句柄及该窗体里的信息

python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作

如何获取控件句柄 vc

为啥我用delphi编程获取窗口句柄不成功?