命令行程序中用ESC键停止运行,那么在vb中能不能向指定的命令行程序发送一个模拟按键呢?

解决方案 »

  1.   

    首先激活你想要传送按键的窗体,然后调用sendkeys函数,函数的具体使用方法请查阅MSDN
      

  2.   

    Dim ReturnValue, I
    ReturnValue = Shell("Calc.EXE", 1)   ' 运行计算器。
    AppActivate ReturnValue    ' 激活计算器。
    For I = 1 To 100   ' 设置计数循环。
       SendKeys I & "{+}", True   ' 按下按键给计算器
    Next I   ' 将所有 I 值相加。
    SendKeys "=", True   ' 取得总合。
    SendKeys "%{F4}", True   ' 按 ALT+F4 关闭计算器。
      

  3.   

    谢谢Caozhy.仍有一个问题, 如果用shell打开时选择的参数是vbHide, 那么使用AppActivate就回出现错误. 
    请问怎么解决这个问题?
      

  4.   

    那么只能用 PostMessage (ButtonHandle, BM_CLICK)了。