所以我在 Delphi 中制作了一个表单,允许我运行具有各种配置的各种 sikuli 脚本。我现在正在做的是让使用表单的人能够设置各种 sikuli 脚本以在一个接一个上运行。如:
第 1 步:SikuliScript1 和 ConfigFile1。第 2 步:SikuliScript2 和 ConfigFile2。等等......这是我到目前为止的代码:
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,但这似乎有点过分了。必须有一种方法可以更快、更容易地做到这一点。有人有线索吗?