CSDN博客

img hefenghhhh

一个问题 关于CString 和char[]

发表于2008/10/1 19:38:00  346人阅读

//通过一个定时器,获取鼠标所指的窗口的句柄,如果该窗口有密码,则读取密码。

void CgetpasswordDlg::OnTimer(UINT_PTR nIDEvent)
{
 // TODO: 在此添加消息处理程序代码和/或调用默认值


CPoint point;
CString m_strprompt;

CString m_static_pass;
 ::GetCursorPos(&point);//获取鼠标指针
 CWnd* w=CWnd::WindowFromPoint(point);
 
char sName[60];
 HWND hWnd=NULL;
 if(w!=NULL) hWnd=w->GetSafeHwnd( );
 
 if(hWnd != NULL)
 {
  ::GetClassNameW(hWnd,(LPWSTR)sName,55);
 CString str(sName);


  m_strprompt="这不是密码";
  if(str=="edit"::GetWindowLong(hWnd,GWL_STYLE) & ES_PASSWORD)
  m_strprompt="哈哈,密码找到啦";
  ::SendMessage(
     (HWND) hWnd,              // handle to destination window
       WM_GETTEXT,               // message to send
       (WPARAM)55,          // number of characters to copy
       (LPARAM) sName           // text buffer
     );
  m_static_pass=sName; 
  MessageBoxW(str,0,0);//只显示一个字符
   MessageBoxW((LPCTSTR)sName,0,0);//显示窗口的标题


 UpdateData(FALSE);}
 
 CDialog::OnTimer(nIDEvent);
}

 

运行没有成功。

CString str(sName);

sName获得了窗口标题,但str却没有。

问题一:该如何将sName的值给str呢?

问题二:程序运行时不时出现异常,不知何故。

 

0 0

相关博文

我的热门文章

img
取 消
img