0

ユーザーが特定の PC にログインすると、以下のプログラムが実行されます。exe を実行するプロセスが終了した後、PC をログオフしたいのですが、以下の myProcess_Exited メソッドが実行されません。何か問題を見つけることができますか?

ありがとうスティーブン

private void myProcess_Exited(object sender, System.EventArgs e)
 {
         System.Diagnostics.Process proc1 = new System.Diagnostics.Process();
         proc.StartInfo.FileName = "C:\\windows\\SysWOW64\\shutdown.exe";
         proc1.StartInfo.Arguments = "/l";
         proc1.StartInfo.UseShellExecute = false;
         proc1.StartInfo.RedirectStandardOutput = false;
         proc1.Start();
         Application.Exit();
}

private void Form1_Load(object sender, EventArgs e)
{
             System.Diagnostics.ProcessStartInfo p = new                                            System.Diagnostics.ProcessStartInfo(@"K:\App\pc\stub.exe");
             p.Arguments = "-RunForever";
             proc = new System.Diagnostics.Process();
             proc.StartInfo = p;
             proc.EnableRaisingEvents = true;
             proc.Exited += new EventHandler(myProcess_Exited);
             proc.Start();
 }
}
4

1 に答える 1

0

以下のものは完全にうまく機能します。

    Process proc = new Process();

    private void myProcess_Exited(object sender, System.EventArgs e)
    {
        System.Diagnostics.Process proc1 = new System.Diagnostics.Process();
        proc1.StartInfo.FileName = "C:\\windows\\SysWOW64\\shutdown.exe";
        proc1.StartInfo.Arguments = "/l";
        proc1.StartInfo.UseShellExecute = false;
        proc1.StartInfo.RedirectStandardOutput = false;
        proc1.Start();
        Application.Exit();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        System.Diagnostics.ProcessStartInfo p = new System.Diagnostics.ProcessStartInfo(@"K:\App\pc\stub.exe");
        p.Arguments = "-RunForever";
        Process proc = new System.Diagnostics.Process();
        proc.StartInfo = p;
        proc.StartInfo.CreateNoWindow = true;
        proc.EnableRaisingEvents = true;
        proc.Exited += new EventHandler(myProcess_Exited);
        proc.Start();
    }
于 2012-09-05T11:21:14.660 に答える