Я могу успешно запустить новый процесс с помощью ShellExecuteEx, но если я получаю доступ к свойству HasExited, выдается исключение Win32Exception. Каково это исключение и как проверить, жив ли процесс?Почему hasExited throw 'System.ComponentModel.Win32Exception'?
ShellExecuteEx(ref info);
clientProcessId = NativeMethods.GetProcessId(info.hProcess);
Process clientProcess = Process.GetProcessById((int)clientProcessId);
if (clientProcess.HasExited) //<---- throws Win32Exception, but the process is alive! I can see its window
{
//run new one
}
Благодаря
Можете ли вы опубликовать фрагмент кода? –
Я обновил вопрос. – mimic
вы получаете исключение на Vista или Windows 7? – Giorgi