-1

C# からいくつかの Windows プログラムを実行したいと考えています。どうすればいいですか?私が調べてきたことから、それは System.Diagnostics.Process の start メソッドと関係があります

私はちょうど使用しますか

System.Diagnostics.Process;

次に入力します

start("Command to be executed");

または、この問題を間違って見ていますか?

C# 初心者。

4

3 に答える 3

2

あなたのコメントによると、オブジェクト指向プログラミングの名前空間とクラスに慣れていないようです。分解してみましょう。

Process.NET フレームワークの一部であるクラスです。Processhas にはメソッドのコレクションがあり、そのうちのいくつかはstaticメソッドです。Startこれらの静的メソッドの 1 つです。を使用するには、次の 2 つの部品が必要ですProcess.Start

  1. コンパイラは何が何でProcessあるかを知る必要があります。using System.Diagnostics;クラスファイルの先頭に追加することで、その情報をコンパイラに提供できます。System.Diagnosticsこれは、存在する名前空間でクラスを探すようにコンパイラに指示しProcessます。
  2. Start process class の一部であるという名前のメソッドを呼び出していることをコンパイラに明示的に伝える必要があります。を使用してこれを行うことができますProcess.Start()。またはあなたの場合、Process.Start("Command to be executed");

だけを入力できない理由は 2 つありますstart("Command to be executed")

  1. startStart、小文字の「s」は、大文字の「S」と同じではありません。C# は大文字と小文字を区別する言語です。
  2. メソッド呼び出しの前に特定のクラス名を追加しない場合、コンパイラは独自のクラスでそのメソッドを探し、見つからない場合はそれについて通知します。
于 2012-11-01T17:51:12.853 に答える
1

つまり、基本的に「実行するコマンド」の部分は、コマンドプロンプトに入力するものです。例えば:

Process.Start("C:\Programs\programFile.exe",
              "/arg1='This is an argument' -arg2=anotherArgument someOtherArgument");

プログラムのエントリ ポイント (ファイルは "C:\Programs\programFile.exe" にあります) は、メイン メソッドで次の引数リストを受け取ります。

args[0] = "/arg1='This is an argument'"
args[1] = "-arg2=anotherArgument"
args[2] = "someOtherArgument"

パラメータをコマンド ラインとして渡すこの方法は、明らかに最適なフォーマットではありませんが、常に機能します。

于 2012-11-01T17:46:26.017 に答える
0
// Start Internet Explorer. Defaults to the home page.
Process.Start("IExplore.exe");

// Display the contents of the favorites folder in the browser.
Process.Start(myFavoritesPath);

MSDNから

于 2012-11-01T17:50:31.200 に答える