#c# #pdf #processstartinfo
#c# #PDF #processstartinfo
Вопрос:
Следующий код отлично работает на моем компьютере, но зависает на компьютере office
ProcessStartInfo info = new ProcessStartInfo();
info.Verb = "print";
info.FileName = @"c:temp" filename;
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
Process p = new Process();
p.StartInfo = info;
p.Start();
p.WaitForInputIdle();
System.Threading.Thread.Sleep(3000);
if (false == p.CloseMainWindow())
p.Kill();
Пожалуйста, помогите
Комментарии:
1. «Не работает» — как? Присутствует ли целевой файл на офисном компьютере? Существует ли вообще C:temp папка? Имеет ли пользователь, от имени которого вы запускаетесь, права на файл в C:temp ?
2. Папка создана, и файл также присутствует, но он зависает при попытке запустить этот код.
3. Процесс зависает? У вас нет диалогового окна настроек принтера, которое не отображается?
4. да, но он зависает со значком занятости Windows, и ничего не происходит, экран тускнеет, и приходится закрывать приложение.
5. Удалите строку «CreateNoWindow= true» и попробуйте еще раз, это может помочь вам устранить проблему.
Ответ №1:
Некоторые компьютеры работают медленнее, чем другие, поэтому процесс завершается до его завершения. Увеличение времени ожидания потока устранило проблему.