Я пытался напечатать файлы Excel с консольным приложением c #, используя приведенный ниже код.
try
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo()
{
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
Verb = "printTo",
Arguments = printerName,
FileName = printpath
};
p.Start();
p.WaitForExit(10000);
int counter = 0;
while (!p.HasExited)
{
System.Threading.Thread.Sleep(1000);
counter += 1;
if (counter == 5) break;
}
if (!p.HasExited)
{
p.CloseMainWindow();
p.Kill();
}
}
catch (Exception ex) { Console.WriteLine(ex.Message); }
После печати файл Excel не закрывается. Файл остается как на картинке. введите описание изображения здесь
Я получил "Нет процесса, связанного с этим объектом."ошибка при вызове p.HasExited ().
Когда я пробовал документ pdf или word, они закрываются правильно.Как я могу решить эту проблему?