-1

アプリケーションから実行したい exe ファイルをアプリケーション フォルダに追加しましたが、exe ファイルを正しく実行していないと思います。たとえば、私のフォルダー名はフォルダーで、exeファイルはrun.exeなので、試してみ@"\folder\run.exe"ましたが、システムは指定されたファイルを見つけることができません。それを行う正しい方法は何ですか?

public void run(string filePath, int deviceNumber)
{
    ProcessStartInfo processStartInfo = new ProcessStartInfo(@"\folder\run.exe");
    processStartInfo.Arguments = string.Format("{0} {2}{1}{2}", (deviceNumber).ToString(), filePath, "\"");
    processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    processStartInfo.RedirectStandardOutput = true;
    processStartInfo.RedirectStandardError = true;
    processStartInfo.CreateNoWindow = true;
    processStartInfo.UseShellExecute = false;
    processStartInfo.ErrorDialog = false;

    using (Process process = Process.Start(processStartInfo))
    {
        process.WaitForExit();
    }
}

解決された問題:

the way to do it is ProcessStartInfo processStartInfo = new ProcessStartInfo(System.Windows.Forms.Application.StartupPath + myEXEpath);
4

2 に答える 2

0

VSからアプリを起動すると、次のようにプログラムでプロセスを開始できます。

Process.Start(@"C:\somepath\run.exe");

アプリパスを基準にしてプロセスパスを設定できます。そのように:

Process.Start(AppDomain.CurrentDomain.BaseDirectory+"run.exe");

これはprogram.csから実行し、アプリケーションの開始と同時に実行するか、フォームの読み込みやボタンのクリックなどの他のイベントで開始することができます。

于 2013-01-02T10:40:09.993 に答える
0

Process Class を使用して実行する場合は、先頭のバックスラッシュを削除します

@"folder\run.exe"

ディレクトリ「folder」は、実行可能ファイルと同じディレクトリにある必要があります。

于 2013-01-02T10:34:03.867 に答える