具体的描述是这样的:
一个程序 a.exe  我手动运行后,弹出一个有这个一个文本框的窗体,请问,如何实现通过另一个 b.exe 程序,使a.exe运行的窗体上的文本框聚焦,并且自动填写内容?
注意:a.exe 已经被编译了,无法得到其源码!!!
帮忙,支个招~~谢谢啦

解决方案 »

  1.   

    不可以吧,除非,a.exe暴露这样的接口。
      

  2.   

    要是那么轻易操作exe程序,我们变的程序就没有安全行可言了。
      

  3.   

    查找窗口等,FindWindow()找到窗口,然后发送内容等过去...SendMessaeg WM_CHAR..
      

  4.   

    VB中可以,你可以在网上找找,有那种VB写的QQ自动发送信息的程序,可以实现这个功能,我用过。。
      

  5.   

    这样的问题,只要找到要接收消息的窗体,然后用SendMessage 就可以实现了。
      

  6.   

    只是改变那个文本框的内容的话...
    没必要将焦点移到那个文本框上.
    直接发条WM_SETTEXT消息就行了;
    当然前提是你要弄到那个文本框的句柄:).
      

  7.   

    使用WindowsAPI函数获取那个输入窗口的句柄,然后发送消息填写。。
      

  8.   

    首先打开a.exe,然后用spy++(在开始菜单里,vs目录的tools里)查看主窗口及文本框的句柄
    然后调用API:GetDlgCtrlID,获得文本框的ID
    这个ID是固定的,无论什么时候启动a.exe,这个文本框的ID都是固定的
    然后你的程序通过Process.MainWindowHandle得到主窗口的句柄,结合刚才得到的ID,调用API:GetDlgItem获得文本框的句柄
    有句柄,后面就好办了,可以调用SetWindowText,或者发送WM_SETTEXT消息就可以修改文本框的内容(不需要聚焦)
      

  9.   

    楼上的用SetWindowText是不行的哦...
    SetWindowText不能跨进程的.