类似
ret=shell("cmd.exe c:\temp\test.exe",vbHide)  '如果改为vbNormalFocus, 程序就正常
AppActivate ret   '在vbHide的情况下这句总是出错。
SendKeys "{ESC}",True

解决方案 »

  1.   

    SendKeys "{ESC}",True
    好像只给获得焦点的窗体发生命令你可以不可以换一种方法 你的esc后要关闭程序实现什么效果 看看我能不能帮你实现
      

  2.   

    要是那程序支持 < 呢就好办了,比如ftp.exe把要执行的命令放在 file.txt 里然后shell "cmd.exe c:\temp\test.exe < file.txt"
      

  3.   

    easy! 例如:
    shell "c:\temp\test.exe D:\file.txt"
    不過你的test.exe要能夠接受參數才行﹐并不是運行text.exe后向里面輸入"D:\file.txt".
      

  4.   

    to 流星雨和xiaoKKKK我要shell的程序可以接受参数,但我由用户控制什么时候给它发送一个模拟的按键,比如发送个ESC使程序正常退出,用管道符 < 就不行了。我想可能用PostMessage吧.
      

  5.   

    类似
    ret=shell("cmd.exe c:\temp\test.exe",vbHide)  '如果改为vbNormalFocus, 程序就正常
    AppActivate ret   '在vbHide的情况下这句总是出错。
    SendKeys "{ESC}",TrueAppActivate激活一应用程序窗口,所以需要窗口不能是隐藏窗口SendKeys是模拟按键行为,和窗体没有关系,但是最终的结果却是拥有焦点的窗口接受了~~~
      

  6.   

    想在后台執行﹐又要能夠在其它程序中關閉是比較麻煩的。
    這樣需要實時監控系統消息.所以得用到全局勾子,如果處理的不好﹐對系統性能有影響.
    研究一下關于鍵盤的hook吧.當然﹐如果在自已寫的程序中處理就簡單些了。
    1.用FindWindow查出后台程序的Handle
    2.用SendMessage發消息