我正在通過C#System.Diagnostics.Process運行一個命令行進程。如何使用C#System.Diagnostics.Process與提示進行交互?
當我在cmd.exe中輸入相同的命令時,它立即提示我輸入密碼。輸入密碼後,該過程繼續完成。
但是,使用System.Diagnotic.Process,我重定向的標準輸出都不會產生密碼提示。如果是這樣,我會用重定向的標準輸入的WriteLine方法以編程方式輸入它。
通常在使用Process對象的輸出中看不到提示?提示與其他標準輸出行不同嗎?如果是這樣,那麼如何將「提示事件」帶入我的應用程序,輸入輸入,然後讓程序按照它在cmd.exe中的相同方式繼續進行?
大多數命令行程序會提示對stderr流密碼,不是嗎? – 2010-01-13 00:37:00
我試過使用Process.StandardInput.WriteLine(「密碼」),但過程只是掛起,因爲我沒有輸入密碼。 第一個人提到我必須重定向流。如果是這樣,爲什麼調用這個方法不會導致異常。它的行爲就像已經有一個輸入流作爲過程對象的一個屬性。 – 2010-01-13 03:17:08
丹尼爾,當他們相應的事件發生時,我將錯誤輸出和常規輸出添加到文本框中。然而,當我在cmd.exe中執行完全相同的命令時,我看不到我看到的提示。 – 2010-01-13 03:19:39