5

我正在运行来自 delphi(2010) 的 .bat 文件。

procedure TForm1.Button2Click(Sender: TObject);
var sCmd: String;
 Begin
sCmd := Pwidechar('b4a_c2dm.bat' +' ' +'send ' + Trim(Edit1.Text)+' '  + Trim(edit2.Text ));
ShellExecute(0, 'open', 'b4a_c2dm.bat', PChar(sCmd), nil, SW_SHOWMAXIMIZED);
   end;

这将打开 cmd.exe 并在 cmd.exe 中传递正确的字符串,但是

.bat 文件中的某些行 (java -cp b4a_c2dm.jar anywheresoftware.b4a.c2dm.C2DM %*) 显示在 cmd.exe 窗口中并且不让 .bat 文件完成其工作。

有人可以帮我弄这个吗。

4

1 回答 1

19

为了执行一个批处理文件,要调用的程序是'cmd',它的参数应该是批处理文件的名称。

关于你的程序,

ShellExecute (application.handle, 'open', 'cmd', PChar(sCmd), nil, SW_MAXIMIZE)
于 2012-05-05T04:40:31.933 回答