扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
//将客户坐标转换成屏幕坐标 ClientToScreen(&point); //返回一个包含指定屏幕坐标点的窗口 CWnd* pWnd = CWnd::WindowFromPoint(point); if (pWnd) { //获取窗口句柄 HWND hwndCurr = pWnd->GetSafeHwnd(); if ((::GetWindowThreadProcessId (GetSafeHwnd(), NULL)) != (::GetWindowThreadProcessId (hwndCurr, NULL))) { char lpClassName[255]; //获取类名 if (::GetClassName(hwndCurr, lpClassName, 255)) { //判断是否是Edit控件 if (0 == m_strWndClass.CompareNoCase("EDIT")) { //获取窗口风格 LONG lStyle = ::GetWindowLong(hwndCurr, GWL_STYLE); //如果设置了ES_PASSWORD属性 if (lStyle & ES_PASSWORD) { char szText[255]; //通过句柄hwndCurr向此控件发送WM_GETTEXT消息 ::SendMessage(hwndCurr, WM_GETTEXT, 255, (LPARAM)szText); //密码已保存在szText中 m_strPassword = szText; } } } } } |
ClientToScreen(&point); CWnd* pWnd = CWnd::WindowFromPoint(point); HWND hwndCurr = pWnd->GetSafeHwnd(); |
::SendMessage(hwndCurr, WM_GETTEXT, 255, (LPARAM)szText); |
BOOL g_bSenderIdentity; |
LRESULTCPasswordEdit::DefWindowProc (UINTmessage,WPARAMwParam,LPARAMlParam) { //对Edit的内容获取必须通过以下两个消息之一 if((message==WM_GETTEXT) ||(message==EM_GETLINE)) { //检查是否为合法 if(!g_bSenderIdentity) { //非法获取,显示信息 AfxMessageBox(_T ("报告:正在试图窃取密码!")); return 0; } //合法获取 g_bSenderIdentity=FALSE; } return CEdit::DefWindowProc (message,wParam,lParam); } |
CPasswordEdit m_edtPassword; |
m_edtPassword.SubclassDlgItem(IDC_EDIT_PASSWORD,this); |
void CDlgInput::DoDataExchange (CDataExchange*pDX) { //如果获取数据 //注意:对于CPropertyPage类这里不需要 if (pDX->m_bSaveAndValidate)条件 if(pDX->m_bSaveAndValidate) { g_bSenderIdentity=TRUE; } CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgInput) DDX_Text (pDX,IDC_EDIT_PASSWORD,m_sPassword); //}}AFX_DATA_MAP } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者