C # Process Exited Event Help - PullRequest
       12

C # Process Exited Event Help

3 голосов
/ 21 декабря 2010
Process cExe = new Process();
cExe .StartInfo.FileName = "cexe.exe";
cExe .EnableRaisingEvents = true;
cExe .Exited += this.cExited;

И это выход из метода

private void cExited(object o, EventArgs e)
{
    MessageBox.Show(/* SHOW FILE NAME HERE */);
}

Как я могу получить информацию о процессе из метода выхода? какая из переменных (o, e) дает мне эти данные и какого типа они должны быть?

1 Ответ

9 голосов
/ 21 декабря 2010

При работе с .Net Base Class Library вы обнаружите, что каждое событие передает два параметра.

Первый всегда имеет тип System.Object, а другой имеет тип (или потомок) System.EventArgs.

Первый аргумент object sender может быть безопасно приведен к типу класса, который вызвал это событие. В вашем случае это тип System.Diagnostics.Process.

Пример:

private void cExited(object o, EventArgs e)
{
    Process p = (Process)o;
    // Use p here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...