我通过创建一个System.Diagnostics.Process
对象然后将StartInfo
动词设置为“打印”来打印文档,然后调用 processStart()
方法。
我希望隐藏这个打印过程,所以我正在设置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 来实现相同的目标,但这个问题专门针对 shell 进程的可见性。