如何用VB调用一个外部程序
并对运行后的程序界面的输入进行简单的控制
比如调出的是一个登陆界面
里面有COMBOBOX,BOTTON,TEXT.....
怎么使用vb直接给它赋值!!!
谢谢!!!

解决方案 »

  1.   

    用Sendmessage就需要获得登陆界面中每个控件的ID,我有登陆界面的PID这样如何获取那!!!
      

  2.   

    这涉及多方面的知识:
    1.获得各个控件的HWND
    2.得到COMBO或TEXTBOX的内容
    3.点击按钮等
      

  3.   

    顺便也发一份给俺吧。
    [email protected]
    谢谢了。
      

  4.   

    如果那个程序是你写的,可以用参数:
    比如:
    TestApp.exe -User:Administrator -Passwd:OpenDoor123 -LoginAs:Admin
    至于参数,用 Command 可以得到。
    比如你在
    Private Sub Form_Load()
        Debug.Print Command
    End Sub
    当用上面参数可以返回 “-User:Administrator -Passwd:OpenDoor123 -LoginAs:Admin”
    你对这个字符串判断即可。
    然后填入相应的文本框。如果那个程序不是你写的,用ShellExecute() FindWindow() EnumChildWindows() SetWindowText() SetDlgItemText() 等API可以得到,或者模拟键盘/鼠标动作,用 kbd_event 和 mouse_event ,还可以用 PostMessage(WM_SETTEXT) 发消息(不是SendMessage())等。