我使用vb 调用一个其他的程序,这个exe 文件打开后,界面上有两个文本框,是填写用户名和密码用的。我想做到vb 开发的程序点击按钮进入后,用户名和密码就自动写好了,vb 怎么能做到啊?

解决方案 »

  1.   

    shell 
    findwindow/findwindowex
    sendmessage WM_SETTEXT
    估计我的回复也帮不了你
      

  2.   

    获取句柄后用sendmessage发送一个WM_SETTEXT消息
      

  3.   

    1、用楼上们的API(如果文本框很多, 估计你也会郁闷)
    2、用Sendkey 这个就看你对对方的软件UI操作是不是熟悉了
    3、直接改内存
      

  4.   

    得到窗口句柄,遍历里面所有控件,找出需要填写的控件,然后发送消息赋值。这一系列都可以由api函数完成,参考楼上几位的。
      

  5.   

    还是没整明白,如何给打开的exe程序窗口上的文本框赋值呢??这个要打开的exe程序非VB开发的,我如何知道在打开的exe程序窗口上哪个文本框填写数据呢 比如打开程序界面上的文本框一个填写用户,一个填写密码,当然还有很多文本框,我只填写这两个怎么做到呢  VB调用这个exe程序所打开的窗口上文本框填写数据,打开这个程序我是会的,就是不知道如何写数据进去????
      

  6.   

    上面已经说的很明白了,你不会搜索学习下上面的几个函数吗?不会的话到我资源里下载api教程。一看就明白了。很简单
      

  7.   

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
            (ByVal hwnd As Long, _
             ByVal wMsg As Long, _
             ByVal wParam As Integer, _
             ByVal lParam As Any) As Long以上函数股需要用到,另外用用SPY + 找nIDDlgItem 
      

  8.   

    老马给cbm666的帖子里回复了,去找找看