工控编程吧
标题:
上位机MFC星号密码探测显示源代码
[打印本页]
作者:
qq263946146
时间:
2019-10-17 10:32
标题:
上位机MFC星号密码探测显示源代码
(, 下载次数: 1)
上传
点击文件名下载附件
例程运行界面如上。
拖动界面放大镜图标,可以将移动过程中的密码框内容显示出来。
当然也会显示相关的其他信息
鼠标移动关键函数为:
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);
}
复制代码
例程有一定的参考价值,
可以下载源代码参考使用:
(, 下载次数: 0)
上传
点击文件名下载附件
[halcon]1[/halcon]
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4