0

exeファイルからメソッドを呼び出す必要があります

 ProcessStartInfo startInfo = new ProcessStartInfo(@"exeParser.exe");

        startInfo.WindowStyle = ProcessWindowStyle.Normal;
        startInfo.CreateNoWindow = false;
        startInfo.RedirectStandardOutput = true;
        startInfo.UseShellExecute = false;


        startInfo.Arguments = ??

メソッドを呼び出してパラメーターを渡す方法がわかりません

何か助けてください??

実行可能ファイルは私のものですが、Web アプリでの使用に問題があるため、プロセスとして呼び出す方がよいと考えました

ありがとう

4

2 に答える 2

1

実行可能ファイルには、通常「メイン」と呼ばれるエントリ ポイントが 1 つだけあります。

特定のメソッドを呼び出すには、アプリケーションはメソッド名とその引数のコマンド ライン引数 (または複数) を公開する必要があります。これは、これらの引数を解釈して適切なメソッドを呼び出すようにアプリケーションを変更することを意味します。

「exeParser」を変更して引数を受け入れ、それらに基づいて操作する必要があります。

たとえば、次のように追加できます。

\メソッド [名前] \引数 [1],[2],[3]

次にこれを解析して、引数の名前とリストを取得します。

1 つまたは 2 つの方法しかない場合は、スイッチをハードコーディングできます。

switch (methodName)
{
     case "add":
         result = this.Add(arg1, arg2);
         break;
     case "subtract":
         result = this.Subtract(arg1, arg2);
         break;
     default:
         break;
}

それ以上のコードがある場合、またはコードをより一般的なものにしたい場合は、リフレクションを使用してメソッドを取得して呼び出す必要があります。

于 2010-05-22T11:35:02.370 に答える
0

メソッドがアセンブリで公開されていない限り、できません。

もちろん、実行可能ファイルが難読化されていない .NET .exe である場合、Reflector のようなものを使用してコードを逆アセンブルし、プログラムで複製することができます (推奨されません)。問題の実行可能ファイルを所有していない場合。

于 2010-05-22T11:34:54.270 に答える