[英]C# start process multiple times
我確實有一個基於 Windows 的 C# 應用程序,它調用一個外部 scan.exe 文件來掃描一個目錄。
在代碼下方,我進行了流程調用:
Process p = new Process();
p.StartInfo.FileName = @"Scan.exe";
foreach (FileInfo file in fileList)
{
p.StartInfo.Arguments = @" /ALL /ARCHIVE " + file.FullName;
p.Start();
//System.Threading.Thread.Sleep(200);
}
當我運行它時,會彈出 Scan.exe 文件(帶有 UAC 窗口),每個文件名都傳入。據說,在列表中,有 6 個文件,scan.exe 彈出 6 次。
有沒有一種方法可以打開創建一個進程並在 for 循環中重用它?
謝謝
如果您不想被要求提供每個文件,則運行您的代碼的程序必須是管理員。 您可以通過添加清單文件並將requestedExecutionLevel
標記設置為使您的程序自動提示管理員
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
就像其他人的評論所解釋的那樣,除非該程序旨在接受多個文件以在一個命令行調用中進行掃描,否則您在自己的代碼中無能為力。
我會做什么,我會找到 scan.exe 的參考手冊,並找出是否可以調用它,將文件名傳遞給它,該文件將包含要掃描的文件列表。
由於您沒有提供確切的產品版本,我只能猜測。 根據此鏈接,scan.exe 接受CHECKLIST
參數:
/CHECKLIST=<filename> Scan list of files contained in <filename>.
同樣,我不知道這是否適用於您的特定版本的 scan.exe,但您可以找到,我確信這一點;-)
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.