【发布时间】:2009-02-12 18:30:10
【问题描述】:
我通过创建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 来实现相同的目标,但这个问题专门针对 shell 进程的可见性。
【问题讨论】:
标签: c# process printing hidden visible