本来是想向外部程序发送两个字符串,每个字符串放在不同的EDIT框中,但是只能发给一个EDIT框,无论用哪个控件ID都是发给同一个
         HWND Temphwnd;
         cstring name = "aaa";
        cstring sn = "bbb";
Temphwnd = ::FindWindow(_T("#32770"),_T("test"));
Temphwnd = FindWindowEx(Temphwnd,NULL,_T("Edit"),(LPCTSTR)GetDlgItem(0x3EA));
::SendMessage(Temphwnd,WM_SETTEXT,0,(LPARAM)(LPCTSTR)name);
 
        Temphwnd = ::FindWindow(_T("#32770"),_T("test"));
Temphwnd = FindWindowEx(Temphwnd,NULL,(LPCTSTR)GetDlgItem(0x3EB),_T("EDIT"));
::SendMessage(Temphwnd,WM_SETTEXT,0,(LPARAM)(LPCTSTR)sn);无论发给0x3EA还是0x3EB,都是发给同一个EDIT框.

解决方案 »

  1.   

    0x3EA, 0x3EB 是什么东西? 
    (LPCTSTR)GetDlgItem(0x3EA)  这样的用法不对
      

  2.   


    0x3EA, 0x3EB 是什么东西? 
    (LPCTSTR)GetDlgItem(0x3EA)  这样的用法不对 
    -----------------------------------------
    0X3A,0X3B是两个EDIT框的控件ID,在SPY++里看到的
    那怎样的用法才对呢?
      

  3.   

        HWND Temphwnd; 
        cstring name = "aaa"; 
        cstring sn = "bbb"; 
        Temphwnd = ::FindWindow(_T("#32770"),_T("test"));     HWND edit1=GetDlgItem(Temphwnd ,0x3EA);
        ::SendMessage(edit1,WM_SETTEXT,0,(LPARAM)(LPCTSTR)name); 
        HWND edit2=GetDlgItem(Temphwnd ,0x3EB);
        ::SendMessage(edit2,WM_SETTEXT,0,(LPARAM)(LPCTSTR)sn); 
      

  4.   

    3楼正确不过GetDlgItem要加::,::GetDlgItem
    谢了