すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

コンソールアプリを、連続で実行する処理が含まれるプログラムを作っているのですが、
コンソールアプリを実行するたびにウィンドウが表示されてしまい困っています。
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
としても、この設定は有効になっていないようで、プロセスStart時に一瞬画面が大きく表示されてしまいます。対処法を教えていただけますでしょうか。起動時のウィンドウのサイズを小さくするだけでもいいです。

  • 質問者:ss
  • 質問日時:2009-02-17 18:19:13
  • 0

並び替え:

ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "netsh";
info.Arguments = "firewall show log";
info.UseShellExecute = false;
info.CreateNoWindow = true;

Process proc = new Process();
proc.StartInfo = info;
proc.Start();
proc.WaitForExit();
proc.Close();

これでコマンドプロンプトは表示されないかと思います。
info.UseShellExecute = false;
がポイントになるかと思います。

===補足===
プログラム→コンソールアプリ→コンソールアプリという具合に多分呼び出しがネストしてるんだと思います。
1段目でコンソールウィンドウの表示を抑止しても、2段目以降には介入できないですから、その部分でコンソールウィンドウが表示されてるのではないかと・・・・・・
っで、そうなると対処法というのが思いつかないです。

  • 回答者:三十路 (質問から19時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

ありがとうございます。
info.UseShellExecute = false;
は設定していますが表示されてしまいます。
Fortranのプログラムだからでしょうか・・・

関連する質問・相談

Sooda!からのお知らせ

一覧を見る