Я печатаю документ, создавая объект System.Diagnostics.Process
, а затем устанавливая глагол StartInfo
на «печать», а затем вызывая метод процесса Start()
.
Я хочу, чтобы этот процесс печати был скрыт, поэтому я устанавливаю CreateNoWindow = true
и WindowStyle = ProcessWindowStyle.Hidden
. Но приложение (Word или Acrobat) все равно появляется во время печати.
Я знаю, что скрытые настройки процесса игнорируются, если для процесса установлено имя пользователя или пароль, и я отладил их и убедился, что они пусты. Я даже пытался явно установить для них значение NULL, но безрезультатно.
Мне интересно, заставляет ли действие печати приложение вести себя так, как будто оно требует вмешательства пользователя (Word отображает диалоговое окно «печать документа..»), что сводит на нет настройки, чтобы скрыть его.
Я использую .Net 2.0, C#, Word 2007 и Windows Vista.
Мой фактический код выглядит следующим образом:
System.Diagnostics.Process shellProcess = new System.Diagnostics.Process();
shellProcess.StartInfo.FileName = fullFileName;
shellProcess.StartInfo.CreateNoWindow = true;
shellProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
shellProcess.StartInfo.Verb = "print";
shellProcess.Start();
Помощь очень ценится...
Обратите внимание, что я знаю, что могу использовать Word или Acrobat API для достижения той же цели, но этот вопрос конкретно касается видимости процесса оболочки.