2017-03-29 7 views
0

私はProcessクラスを使ってプロセスを開始しています。ユニティでexternプロセスを開始できません

Process myProcess = new Process(); 
     myProcess.StartInfo.FileName = path; 
     myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; 
     myProcess.StartInfo.Arguments = JsonConvert.SerializeObject(params); 
     myProcess.Start(); 

私はOSxにユニティを使用しています。私は同じ文字列の引数を送信し、同じパスを使用して新しいコンソールアプリケーションを作成することによってそれをテストし、実際にうまく動作します。私が単一性からプロセスを開始しようとすると、それはうまく動作せず、プロセス呼び出しの下のコードでさえエラーを送信しないので、成功するとは思うが何も起こらない。なぜ私は得ることができません。ところで、私は統一ボタンイベントでプロセスコールを開始します。

+0

コンソールとユニティの両方で 'JsonConvert.SerializeObject(params);'の値を見たことがありますか?たぶん値は違いますか? – Programmer

+0

両方とも同じjsonオブジェクトです。私は両方とも引数を送らずに試してみて、アプリケーションは(テストコンソールアプリケーションで)実行し、データを渡していないのでエラーを送信しますが、コンソールは起動しません。 – MisaelGaray

+0

あなたは[ここ](http://stackoverflow.com/questions/15452651/start-an-external-process-on-mac-with-c-sharp)と[here](http: /answers.unity3d.com/questions/161444/how-to-use-process-art-with-arguments-on-osx-in-a.html)? – Foggzie

答えて

0

このメソッドを使用してUnityで外部プロセスを呼び出しました。

public static void ExecProcess(string name, string args) 
{ 
    Process p = new Process(); 
    p.StartInfo.FileName = name; 
    p.StartInfo.Arguments = args; 
    p.StartInfo.RedirectStandardError = true; 
    p.StartInfo.RedirectStandardOutput = true; 
    p.StartInfo.CreateNoWindow = true; 
    p.StartInfo.UseShellExecute = false; 
    p.Start(); 

    string log = p.StandardOutput.ReadToEnd(); 
    string errorLog = p.StandardError.ReadToEnd(); 

    p.WaitForExit(); 
    p.Close(); 
} 

軽度の修正が必要です。

+0

A試しましたが、このエラーがあります。 'Win32Exception:ApplicationName ='/Applications/Bamboo Wall Binary/WeightsResults.exe '、CommandLine =' '、CurrentDirectory =' ' System.Diagnostics.Process.Start_noshell(System.Diagnostics.ProcessStartInfo startInfo、System.Diagnostics.Processプロセス) System.Diagnostics.Process.Start_common(System.Diagnostics.ProcessStartInfo startInfo、System.Diagnostics.Processプロセス) System.Diagnostics.Process.Start() (ラッパーリモート-起動-と-check)System.Diagnostics.Process:Start() 'エラー全体を貼り付けてごめんね。 – MisaelGaray

+0

@MisaelGarayなぜWeightsResults.exeがありますか?あなたはOSXを使用しています。 exeファイルは実行されません。 –

関連する問題