一个工程有两个窗口,在窗口1中按下按钮后能在窗口2中的EDIT CONTROL中显示一段字符。
我知道是用消息机制的SENDMESSAGE相关的看了一下午资料还是一知半解希望谁能给我的实际的例子告诉我步骤

解决方案 »

  1.   

    就是发个WM_SETTEXT之类的消息吧。
      

  2.   

    求详细
    CString ddd("sdfsf"),tmp1("CghgjkkjlDlg"),tmp2("IDD_GHGJKKJL_DIALOG (Dialog)");


    HWND m = ::FindWindow(tmp1,tmp2);
            ddd就是要显示到窗口2中的,tmp1和tmp2存放窗口2的类和窗口名,关键是接下来要怎么调用SENDMESSAGE我不知道

      

  3.   

    你确信找到edit的hwnd了吗?void CSettextDlg::OnButton1() 
    {
    // TODO: Add your control notification handler code here
    ::SendMessage( m_edit1.GetSafeHwnd(), WM_SETTEXT, 0, (WPARAM)"1122" );
    }
      

  4.   

    不知道楼主说的是一个进程中的两个单独的对话框资源还是两个进程。两个进程可以用sendmessage,一个进程就不必了吧,把变量设置成pbulic,然后设置后update不就可以了吗
      

  5.   

    hwnd我应该是绑定对了,但是我不明白后三个参数的具体意思,我把你写的SendMessage贴进去没有反映,好像还要做什么消息函数的映射来着,我不懂怎么做。
    是一个工程中两个对话框,试过设一个整个工程的全局变量但是没有成功。
      

  6.   


    void CSettextDlg::OnButton1() 
    {
    // TODO: Add your control notification handler code here
    //::SendMessage( m_edit1.GetSafeHwnd(), WM_SETTEXT, 0, (WPARAM)"1122" );
    HWND hwnd = ::FindWindow( NULL, "testtest" );
    if( hwnd )
    {
    HWND hwnd1 = ::FindWindowEx( hwnd, 0, "Edit", NULL );
    if( hwnd1 )
    {
    ::SendMessage( hwnd1, WM_SETTEXT, 0, (WPARAM)"1122" );
    }
    }
    }void CSettextDlg::OnButton2() 
    {
    // TODO: Add your control notification handler code here
    CDialog1 *dlg = new CDialog1;
    dlg->Create( IDD_DIALOG1 );
    dlg->ShowWindow( 1 );
    dlg->SetWindowText( "testtest" );}
    先点button2,再点button1,button2显示一个窗口,里面有一个Edit.
      

  7.   

    不行,我还是无法理解,照LS的代码也不能编译。
    我要做的功能就是顶楼说的,要不然用消息机制,要不然就定义一个CString的全局变量让2个都访问到,可是两个都有问题,定义全局变量也是报错。
    哪位帮帮忙,拜托。
      

  8.   

    void CMyDlg::OnSendButton() 
    {
    // TODO: Add your control notification handler code here
    HWND hwnd = ::FindWindow( NULL, "接收密码" );
        if( hwnd )
        {
            HWND hwnd1 = ::FindWindowEx( hwnd, 0, "Edit", NULL );
            if( hwnd1 )
            {
                ::SendMessage( hwnd1, WM_SETTEXT, 0, (WPARAM)"123456" );
            }
        }