[英]How to share information with a new process (besides the command-line arguments)?
我正在開始一個新的過程:
process.Start();
我知道我可以使用以下方式將字符串傳遞給它:
process.StartInfo.Arguments = ...
但是我不僅要共享幾個簡單的字符串(字節數組等),還應該共享。我該怎么做?
編輯:這將作為ClickOnce應用程序安裝,所以我真的不知道它將在文件系統中安裝的位置,並且我想使它盡可能簡單,以便在卸載后不會保留任何文件。 那我該把數據放在哪里呢?
如果數組很小,則可以對它進行base64編碼。 其他選項包括將數據保存到文件或使用命名管道
您可能要使用匿名管道 。
匿名管道提供的功能少於命名管道,但也需要較少的開銷。 您可以使用匿名管道來簡化本地計算機上的進程間通信。 您不能使用匿名管道通過網絡進行通信。
您可以創建一個臨時文件,將所有必需的數據寫入其中,然后將結果文件名作為命令行參數發送。 當第二個應用程序運行時,它將讀取文件的內容並將其刪除。
如果您可以正確編碼字節數組(例如base64),則可以重定向目標進程的stdin並通過它進行流傳輸:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.