簡體   English   中英

C# 多次啟動進程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM