Я печатаю документ, создавая объект 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();
Помощь очень ценится ...
Обратите внимание, что я знаю, что могу использовать API Word или Acrobat для достижения той же цели, но этот вопрос конкретно касается видимости процесса оболочки.