我只能猜測,因爲缺少用於在C#程序中調用java程序的代碼行。目前還不清楚你想要達到什麼目的。決定是在更改孩子還是主流程中的「當前工作目錄」。
子進程
我假設你想使用類似的代碼來執行這樣的事情java -jar path\to\some.jar
:從here
改編
using System.Diagnostics;
//...
ProcessStartInfo p = new ProcessStartInfo();
p.Arguments = new string[]{"-jar", "path\to\some.jar";
p.FileName = "java.exe";
p.WindowStyle = ProcessWindowStyle.Hidden;
p.CreateNoWindow = true;
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
}
然後,你可以加入這一行
p.WorkingDirectory = "path\to";
改編自here
由p
實例覆蓋與特定的當前工作目錄設置你的孩子的過程。這將設置當前工作目錄以調用java
子進程。
主要工藝
要設置爲周圍的主要工序中當前的工作目錄此行添加到您的程序:
System.IO.Directory.SetCurrentDirectory("some\other\path");
MSDN文檔SetCurrentDirectory
您應該設置當前工作目錄與調用的程序在調用它之前所期望的內容。 –
是的,我只是想一想,但我如何設置jar的工作目錄?我嘗試使用-cp參數,但沒有結果 –
您必須在調用java命令的周圍環境中執行此操作。 –