问如何终止启动一个bat文件(100分)

  • 主题发起人 主题发起人 figoxie
  • 开始时间 开始时间
F

figoxie

Unregistered / Unconfirmed
GUEST, unregistred user!
想写个delphi程序可以实现终止和重启一个批处理文件,有哪位大虾知道该如何写吗,能贴出代码最好了,感激不尽!
 
如果你使用代码发送键盘信息ctrl+C就可以吧,
 
的确是可以的,想知道有没有什么更方便的方法,而且停了之后我还需要重新启动的
 
我把代码贴出来吧,实在是很急,希望哪位帮帮忙
delphi的代码中用一个timer每隔5s就去扫描看是否有run.bat文件,当有的时候就执行
ShellExecute(Application.Handle,'open',PChar('run.bat'),nil,nil,SW_SHOWNORMAL);

而bat里面内容是
set JAVA_HOME=./jre
set PATH=%JAVA_HOME%/bin
java -cp .;%JAVA_HOME%/ext/ffdc.jar;%JAVA_HOME%/ext/xerces.jar;%JAVA_HOME%/ext/j2ee.jar;%JAVA_HOME%/ext/servletevent.jar;%JAVA_HOME%/ext/ivjejb35.jar;%JAVA_HOME%/ext/runtime.jar;%JAVA_HOME%/ext/commons-discovery.jar;%JAVA_HOME%/ext/commons-logging-api.jar;%JAVA_HOME%/ext/webservices.jar;%JAVA_HOME%/ext/qname.jar;%JAVA_HOME%/ext/wsdl4j.jar;lib/JianYiJu_Business.jar;lib/spring.jar;lib/junit.jar;lib/classes12.jar;lib/commons-beanutils.jar;lib/commons-collections.jar;lib/commons-dbcp.jar;lib/commons-digester.jar;lib/commons-fileupload-1.0.jar;lib/commons-lang.jar;lib/commons-logging.jar;lib/commons-pool.jar;lib/commons-validator.jar;lib/dom4j.jar;lib/jdbc2_0-stdext.jar;lib/jxl.jar;lib/log4j-1.2.9.jar;lib/ras.jar;lib/wsexception.jar;lib/jdom.jar;conf;DeclareHandler.jar declare.DeclareHandler

这个bat单独执行是没问题的,但是通过delphi这样调用就会一闪之后关掉,如何解决好呢,希望大家提供些思路,谢谢!
 
终止bat文件 杀进程不就可以?
 
ShellExecute(Application.Handle,'open',PChar('run.bat'),nil,nil,[red]SW_HIDE[/red]);
 
to zqw0117:

加[red]是起什么作用呢,编译通不过。。。

to 冰力不足:
现在终止已经可以了,关键是启动bat的时候出问题
 
给你一个控件,应该可以用的,我用过不错。
http://maxxdelphisite.free.fr/doscmd.htm

weiliu 发表于 2006-6-15 12:02:50
安装方法如下:

下载doscommand_tk.zip
把DosCommand.pas和DosCommand.dcr复制到Delphi安装目录的Lib文件夹下,运行DELPHI
→选择Component → Install Component 弹出安装控件(PAS单元)对话框,选择Browse..
按钮,在弹出的打开对话框中选择DosCommand.pas单元,然后按 OK 就可以了
 
谢谢weiliu,已经安装好了,不过没用过第三方插件,这个咚咚怎么调用呢,
举个最简单的例子,我有个文件为c:/run.bat,如何启动这个批处理文件呢,能贴出代码马,谢谢啦!
 
参考
http://delphi.bibts.com/perl-dos-t911048.htm
 
我想做一个程序启动cmd,目前用的是
winexec('cmd.exe',SW_NORMAL); //可以正常启动
然后通过cmdhandle:=findwindow(cmd.exe',nil);为何拿不到该窗口的句柄啊

还有就是我想拿到句柄后向cmd发送注入‘ping’之类的消息以达到与键盘输入同样的效果
用函数sendmessage不知可行否,谢谢
 
来自:figoxie, 时间:2006-8-4 12:50:45, ID:3525233
to zqw0117:

加[red]是起什么作用呢,编译通不过。。。
就这样写:ShellExecute(Application.Handle,'open',PChar('run.bat'),nil,nil,SW_HIDE);
汗,这是DFW黄色界面的自动解析,备[red]包含的文字是红色显示的。
 

Similar threads

后退
顶部