C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■87599 / 1階層)  shellメソッドとProcessクラスの違い
□投稿者/ 魔界の仮面弁士 (1708回)-(2018/06/12(Tue) 11:45:45)
No87596 (k3user さん) に返信
> shellメソッドとProcessクラスとで
> スピードに大きな違いがあるのでしょうか?

Microsoft.VisualBasic.Interaction.Shell メソッドと
System.Diagnostics.Process クラス(の Start メソッド)の比較でしょうか?

機能的には Process の方が多いので、手続き的には Shell の方が単純ですが、
実際の速度差は、実環境で試さないと分からないことなので、
ご自身で確認されるのが一番かと思いますよ。


ちなみに前者(Shell)は、CreateProcess API による呼び出しを行います。
https://msdn.microsoft.com/ja-jp/library/cc429066.aspx


後者は、PprocessStartInfo.UseShellExecute を指定した場合には
ShellExecuteEx API による呼び出しを行います。
https://msdn.microsoft.com/en-us/library/windows/desktop/bb762154.aspx

ただし UseShellExecute が意図的に false にされていた場合には、
CreateProcess もしくは CreateProcessWithLogonW API に切り替わります。
https://msdn.microsoft.com/ja-jp/library/cc429072.aspx


> プロセスA→プロセスCの処理を行うとプロセスCの起動〜終了
> まで20秒程度かかります。
ウィルス対策ソフトなどといった、プロセス監視を行っているソフトウェアを
一時的に無効化して試した場合も、特に変化は無いでしょうか。

また、起動されたプロセスC の優先度が低くなっていたりはしないでしょうか。
たとえば、タスク スケジューラーによる起動が行われていた場合、
最近の OS だと、優先度が低めに設定されることになります。
https://www.skyarch.net/blog/?p=2616
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←shellメソッドとProcessクラスの違い /k3user →Re[2]: shellメソッドとProcessクラスの違い /k3user
 
上記関連ツリー

shellメソッドとProcessクラスの違い / k3user (18/06/12(Tue) 11:13) #87596
shellメソッドとProcessクラスの違い / 魔界の仮面弁士 (18/06/12(Tue) 11:45) #87599 ←Now
  └ Re[2]: shellメソッドとProcessクラスの違い / k3user (18/06/12(Tue) 14:31) #87601
    └ Re[3]: shellメソッドとProcessクラスの違い / k3user (18/06/15(Fri) 08:40) #87632 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信