| 
 上位机MFC星号密码探测显示源代码   例程运行界面如上。
 拖动界面放大镜图标,可以将移动过程中的密码框内容显示出来。
 当然也会显示相关的其他信息
 鼠标移动关键函数为:
 
 例程有一定的参考价值,复制代码
void CShowPwDlg::OnMouseMove(UINT nFlags, CPoint point) 
{
        if (!m_set)
        {
                ClientToScreen(&point);//取得屏幕坐标
                m_StrStatic5.Format("X=%ld,Y=%ld", point.x,point.y);//坐标
                m_StrStatic2 = _T("( None )");        //Class Name
                m_StrStatic3 = _T("( None )");        //Class Style
                CWnd* pWnd = CWnd::WindowFromPoint(point);//获取含有指定点的窗口
                if (pWnd)
                {
                        HWND hwndCurr = pWnd->GetSafeHwnd();//返回一个窗口的句柄
                        if ((::GetWindowThreadProcessId (GetSafeHwnd(), NULL))!= (::GetWindowThreadProcessId (hwndCurr, NULL))) 
                        {
                                m_StrStatic3.Format("%ld", hwndCurr);// 获得 window's style
                
                                char lpClassName[255];
                                if (::GetClassName(hwndCurr, lpClassName, 255))
                                {
                                        m_StrStatic2 = lpClassName;        // 获得 class name
                                }
                        }
                        
                        if (m_StrStatic2.CompareNoCase("EDIT")==0)
                        {
                                LONG lStyle = ::GetWindowLong(hwndCurr, GWL_STYLE);
                                if (lStyle & ES_PASSWORD )
                                {
                                        char szText[255];
                                        ::SendMessage(hwndCurr, WM_GETTEXT, 255, (LPARAM)szText);
                                        m_Edit1 = szText;        // 获得 PassWord
                                }
                        }
                        else
                        {
                                m_Edit1= _T("( None )");        //PassWord
                        }
                }
                UpdateData(FALSE);
        }
        else
        {
                CWnd* pWnd = ChildWindowFromPoint(point);//确定属于CWnd的子窗口中含有指定的点
                if (pWnd && pWnd->GetSafeHwnd() == m_static1.GetSafeHwnd())
                {
                        SetCursor(m_Cursor2);
                }
        }
        CDialog::OnMouseMove(nFlags, point);
}
可以下载源代码参考使用:
 
 
 
   上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看 
   如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!    
 
 
 |