求教

解决方案 »

  1.   

    findwindow查找目标窗口句柄,通过标题或类得到。
    getdlgitem得到此窗口上的编辑框。通过ID得到。查看编辑框的ID使用spy++工具。
      

  2.   

    由于在别的进程,所以SetWindowText中文本传不过去,只有通过远程注入的方式来做。========================================
    提界面问题,UIPower有问必答!
    界面论坛:http://www.uipower.com/bbs我们有专员负责网友问题的解答,真诚为你服务!
    [如果有很紧急的问题,也可以直接致电我们:021-33130099-806]
      

  3.   

    发送消息也可以吧:
    SendMessage(hEditwnd,WM_SETTEXT,NULL,lparam);//lparam window-text string (LPCTSTR)
      

  4.   

    发送消息不可以的。需要通过代码注入先进入对方进程,再发送消息才可以。
    可以看看张正秋的《windows 应用程序捆绑核心编程》
      

  5.   

    以1楼的方法找到窗口句柄,然后
    SendMessage(hWnd, WM_SETTEXT, 0, "ABCDE");
      

  6.   

    4楼的lParam参数代表的是字符串,那么这个字符串应该在哪个进程中呢?肯定是在发出消息的进程的,那么另外的进程如何获得这个进程中的内容呢?如果强制访问,就是内存Read崩溃,你可以一试,呵呵。关于远程注入的方法可以参考下面这篇文章:
    http://www.skinplusplus.com/shownews2.asp?id=489========================================
    提界面问题,UIPower有问必答!
    界面论坛:http://www.uipower.com/bbs我们有专员负责网友问题的解答,真诚为你服务!
    [如果有很紧急的问题,也可以直接致电我们:021-33130099-806]
      

  7.   

    如1楼老兄说的,找到编辑框的句柄后,通过SPY++查出对应的类,如CEdit类,则可以:
    CEdit *p=(CEdit*)CWnd::FromHandle(hwnd/*编辑框的句柄*/);
    p->GetWindowText(...);
    p->SetWindowText(...);
    p->SetLimitText(...);
    或是设置相关属性等
      

  8.   

    FindWindow得到窗口句柄,在发送一个WM_SETTEXT消息即可,可以参考<<WINDOWS核心编程>>26章::SendMessage(::FindWindow(NULL, "Calculator"), WM_SETTEXT, 0, (LPARAM)"A new name"); //修改计算器窗口名
      

  9.   

    我建议哪位有空的话做一个使用消息发送来修改Edit文本的例子,如果可行请提供代码例子。这样我们大家都可以学习一下。实践是检验真理的唯一标准。========================================
    提界面问题,UIPower有问必答!
    界面论坛:http://www.uipower.com/bbs我们有专员负责网友问题的解答,真诚为你服务!
    [如果有很紧急的问题,也可以直接致电我们:021-33130099-806]
      

  10.   

    很久以前做过一个工程就用的是SendMessage。在2000上运行。
    vc程序接串行口的数据,发到VB做的画面表示程序。
    VB程序的编辑框做成隐藏的,专门用来就收数据的,它的句柄存到INI文件。
    vc程序通过INI文件获得编辑框句柄。
      

  11.   

    我用findwindowex,有的edit搜索不到,
    好像目标进程的界面用了窗口分割。
    继续求教