我试过用ShellExecute和winexec来调用,但都不成功
  用它们可以调用EXE文件,但我的是一个tomcat的启动和关闭文件(startup.bat和shutdown.bat),我得用我这个程序来控制tomcat的启动和关闭,但怎么调用都不成功,只是黑屏(cmd状态下)一闪,正常的应该是黑屏下显示正在启动,然后启动成功,就停在这个状态下了。
  请问哪位大侠知道这是什么原因?怎么处理?

解决方案 »

  1.   

    我试过用ShellExecute和winexec来调用,但都不成功====================================
    可以的。我想是你的.bat有问题吧
      

  2.   

    不是BAT有问题,我在“开始”-“运行”里可以直接运行,很正常。
    我说的不成功是程序调用BAT后黑色屏一闪而过,并没有启动或关闭Tomcat.
      

  3.   

    很简单!
    Win2k/XP下的
    WinExec(PCHar('cmd.exe/c a.bat'), SW_Show)http://lysoft.7u7.net
      

  4.   

    用ShellExecute函数时不要忘记在uses里加上ShellAPI文件
      

  5.   

    小李飞刀,谢谢提醒,但这点我还是做了,我调用别的程序是成功的。
    我认真查了一下,调用一个简单的BAT可以,但调用Tomcat的启动文件就不行,好象是说环境变量不对。但奇怪我为什么在“开始”-“运行”里就没有任何问题,而在delphi里调用就会环境变量没设呢?哪位大侠知道在delphi调用的BAT环境跟在cmd下有什么不同吗?
      

  6.   

    ShellExecute(Handle, 'open', PChar('c:\test\app.exe'), nil,这里加入环境变量就可以啦, SW_SHOW);