我想编辑一个外部进程(别人的,什么都不知道)的界面,我可以用FindWindow获得这个进程的句柄,但如何向这个界面上的一个可编辑EDIT框内写入数据,并触发该界面上的一个按钮呢?可行嘛?请大家帮忙!感谢!

解决方案 »

  1.   

    FindWindow是可以得到控件的
    然后SetWindowText即可。
    触发该界面上的一个按钮可以用按键模拟mouse_event。
      

  2.   

    好象我记得FindWindow只能得到主窗口的句柄,肯定能得到控件嘛?按建模拟怎么用(能否详细点,或推荐一些文章)?谢谢!
      

  3.   

    1、WM_SETTEXT可以跨进程
    2、用Spy++得到该按钮的id,然后给界面发送WM_COMMAND的消息
    ::SendMessage(hWnd, WM_COMMAND, MAKEWPAREM(XXX, BN_CLICKED), 0);
      

  4.   

    flyelf(空谷清音) ( ) 
    高人
    这个也可以
      

  5.   

    可是
    按: flyelf(空谷清音) 的方法,应该怎么改变EDIT控件内的内容呢?
      

  6.   

    FindWindow一定可以得到控件窗口句柄
      

  7.   

    [1]FindWindow得到主窗口句柄hMainWnd;
    [2]EnumChildWindow()得到Edit的句柄hEdit;主窗口是Dialog的话,可以用Spy++得到该按钮的id,然后调用::GetDlgItem(hMainWnd, ID);得到Edit句柄
    [3]::SendMessage(hEdit, WM_SETTEXT, );设置内容
    [4]::SendMessage(hMainWnd, WM_COMMAND, MAKEWPAREM(ButtonID, BN_CLICKED), 0);