为什么我用SendMessage(hwnd,WM_GETTEXT,20,(LPARAM) m_q)能得到CStaicr的内容,但却不能得到CEdit的内容.还有用EM_SETPASSWORDCHAR也不起做用.请指点指点小弟

解决方案 »

  1.   

    SendMessage那个应该没问题的啊,第二个为什么不用CEdit::SetPasswordChar呢?
      

  2.   

    估计CEdit已经对这个作了防范了,所以才不能获取到
      

  3.   

    可以我用Revelation这个软件却能得到啊
      

  4.   

    有password风格的Edit在进程内SendMessage能取得密码
    但在进程外就不可以了
    除非在DLL里写一个函数
    把Dll注入到目标进程内,然后在调用你的函数就可以了
      

  5.   

    HWND hWnd;//密码Edit的句柄
    char lpBuf[64];
    memset(buf,0,64);
    char chPass = ::SendMessage(hWnd,EM_GETPASSWORDCHAR,0,0);
    ::PostMessage(hWnd,EM_SETPASSWORDCHAR,0,0);
    Sleep(1);
    ::SendMessage(hWnd,WM_GETTEXT,63,(WPARAM)lpBuf);
    ::PostMessage(hWnd,EM_SETPASSWORDCHAR,chPass,0);这个方法有点变态
    好东西大家分享