处理完成后调用子程序over,传参files为输出路径

去掉"是否打开文件夹"对话框,改为设置Quicker变量
files=输出文件路径、over=true,然后关闭窗口。
ScannerForm构造函数接收IStepContext用于变量传递。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-20 08:54:01 +08:00
parent 3db5e9f6f7
commit c6bf0cdf56

View File

@@ -737,9 +737,11 @@ public class ScannerForm : Form
private List<string> inputFiles = new List<string>();
private bool isPdfInput = false;
private Quicker.Public.IStepContext _context;
public ScannerForm()
public ScannerForm(Quicker.Public.IStepContext context)
{
_context = context;
InitUI();
}
@@ -1040,13 +1042,10 @@ public class ScannerForm : Form
lblStatus.Text = string.Format("完成!已保存: {0}", Path.GetFileName(outputPath));
DialogResult dr = MessageBox.Show(
string.Format("处理完成!共 {0} 页。\n\n是否打开所在目录", results.Count),
"完成", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
System.Diagnostics.Process.Start("explorer.exe", "/select," + outputPath);
}
// 调用子程序 "over",传参 files 为输出文件路径
_context.SetVarValue("files", outputPath);
_context.SetVarValue("over", true);
this.Close();
}
catch (Exception ex)
{
@@ -1128,7 +1127,7 @@ public static void Exec(Quicker.Public.IStepContext context)
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new ScannerForm());
Application.Run(new ScannerForm(context));
}
[DllImport("kernel32.dll", SetLastError = true)]