请大家帮忙看看,如何启动一个应用程序,并且在该应用程序里面的某个输入框里写入文本?然后再关闭这个应用程序
谢谢!

解决方案 »

  1.   

    如果操作不是很复杂,可以用sendkeys函数简单实现,下面给你一个操作记事本的例子    Shell "notepad.exe", vbNormalFocus
        SendKeys "这是一个测试" & vbCrLf & "稍后将保存到C:\test.txt"
        SendKeys "%F"   '打开菜单
        SendKeys "{DOWN 3}~"    '打开另存为对话框
        SendKeys "C:\test.txt~" '保存文件
        SendKeys "%FX"  '关闭记事本
      

  2.   

    谢谢楼上的,我试了一下,用在txt程序上行,但是我用到别的应用程序里面就不行了,不知道为什么
    比如我打开一个应用程序,该应用程序里面有两个文本框和一个按钮,我是想通过我的代码分别在那两个文本框里面填上文本,然后去点击那个按钮,也就相当于自动登录
      

  3.   

    Private Sub Form_Load()
        text1.text = "1111"
        txtx2.text = "2222"
        Command1_Click
    End SubPrivate Sub Command1_Click()
        unload me
    End Sub
      

  4.   

    提供思路:
    如果应用程序是exe文件,而且知道文件路径
    1:shell "路径\XXX.exe" 打开应用程序
    2:用GetForegroundWindow 获得应用程序窗口的句柄
    3:用FindWindow和FindWindowEx找出那两个文本框的句柄
    4:用SendMessage向那两个文本框填写文本
      

  5.   

    补充:
    5:还是用SendMessage关闭应用程序
      

  6.   

    只要你说的那个程序能够完全用键盘进行操作,那么sendkeys就能够模拟完整的操作。一般进入登陆界面的操作就是 输入用户,按一次tab,输入密码 回车。
    无非也就
    sendkeys "用户"
    sendkeys "{tab}"
    sendkeys "密码"
    sendkeys "{tab}"
    sendkeys "{enter}"
    之类的,根据不同的程序稍微改变一下操作步骤就行了仔细看看sendkeys的说明我给你的例子连菜单操作、对话框操作、快捷键操作都已经包含了的。除非那个程序不支持tab在各个控件中切换。如果是这样就只能用API了。首先需要获得你想要操作的窗体的句柄,然后枚举窗体中的子窗体,从这些子窗体中找到你说的那两个文本框句柄,发消息填充字符串,最后给确认按钮发消息,还要关闭窗体。复杂着哩
      

  7.   

    一般的 alt+F4 关闭当前活动窗口
      

  8.   

    Private Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Const WM_CLOSE = &H10
    private sub command1_click()
      dim aHwnd as long
      shell "路径\XXX.exe" '打开程序
      aHwnd=GetForegroundWindow'得到程序窗口句柄
      call SendMessage(aHwnd,WM_CLOSE ,0,0)'关闭程序
    end sub
      

  9.   

    先 findwindow ,找到主程序窗口
    再 findwindoweEx 找到 要输入文本的textbox 窗口
    再用 setwindowText 设置文本