我想实现模拟输入,即例如我想把"中华人民共和国"几个字传送到指定窗体的控件内,请问如何实现呢,我听人说用GetWindow取想要的窗口句柄,我已经取到了,但怎么样取里面控件的ID呢,还有用什么方法把内容填进去呢....请大侠赐教啊....

解决方案 »

  1.   

    1.使用api GetFocus 可以得到当前有输入焦点的控件id.
    2.使用api setwindowtext 可以将文字填充进具体位置。以上代码可以使用远程线程注入到目标程序后使用
      

  2.   

    参考一下,看思路
    POINT p;
    HWND  hw1,hw2;
    int i;
    int j; ::ReleaseCapture();
    ::SetCursor(::LoadCursor(NULL,IDI_APPLICATION)); GetCursorPos(&p);
    hw1=WindowFromPoint(p);
    ::ScreenToClient(hw1,&p); do{
    EnumChildWindows(hw1, (WNDENUMPROC)zEnumChildProc, 0);
    hw2 = ChildWindowFromPoint(hw1,p);
    if(hw2==hw1)
      break;
    hw1 = hw2;
    ::ScreenToClient(hw1,&p);
    }while(true); SendMessage(hw1,WM_SETTEXT,0,(LPARAM)(LPCTSTR)s);