【发布时间】:2013-06-27 06:41:38
【问题描述】:
所以我在 Delphi 中制作了一个表单,允许我运行具有各种配置的各种 sikuli 脚本。我现在正在做的是让使用表单的人能够设置各种 sikuli 脚本以在一个接一个上运行。如:
第 1 步:SikuliScript1 与 ConfigFile1。 第 2 步:SikuliScript2 和 ConfigFile2。 ETC... 到目前为止,这是我的代码:
procedure TSikRunForm.btnRunClick(Sender: TObject);
begin
DirCombo:= '/C '+DirSik+'\sikuli-script.cmd' +' -r ' + DirScript + ' --args '+DirConfig;
if SikFound then begin
ShellExecute(Handle, nil, 'cmd.exe', pChar(DirCombo), nil, SW_SHOWNORMAL);
Application.minimize;
end else begin
ShowMessage('Select the correct folder for your Sikuli installation folder');
end;
end;
这很完美,sikuli 脚本运行完美,并且在运行时,cmd 行是可见的,其中显示了正在执行的各种操作。 sikuli 脚本完成后,cmd 行会自行关闭。因此,shell 处理程序知道何时关闭正在运行的进程。所以我的问题是:是否可以告诉delphi:处理程序关闭进程后,运行下一个进程(Sikuli Script)? 现在我知道我可以在delphi中使用整个createProcess,但这似乎有点过分了。必须有一种方法可以更快、更容易地做到这一点。 有人知道吗?
【问题讨论】: