2012-05-09 56 views
2

如何使用管理權限生成子進程而不使用verb = runas如何使用C#中的管理權限從具有父進程的管理權限跨越子進程?

父進程具有管理權限。我想將輸出(不僅僅是純文本,而是'彩色')放到父進程的控制檯(輸出)中。

+0

因此,我認爲用彩色書寫需要管理權限?您可以嘗試將子進程的STDOUT重定向到父進程的STDIN。然後,讓父進程使用顏色來裝飾STDIN中的任何內容,並將其發送到它的STDOUT(即:控制檯窗口)。 或者,在父進程的線程內產生子進程。讀取子進程的STDOUT和線程內的裝飾的Console.WriteLine()。 – Jim

+0

我不知道如何用管理權限啓動子進程。 –

+0

爲什麼子進程需要管理權限?從你提出問題的方式來看,這聽起來像是你需要執行它的唯一原因,因爲管理員要用顏色寫入控制檯? – Jim

回答

0

使用CreateProcess功能從Win API(unmanaged)。 子進程將具有與父進程相同的特權,並將在父進程的同一控制檯窗口中運行。