打印任何文件types

我正在创build一个服务,将监视一个特定的文件夹,并打印放在这个文件夹中的任何文件。 我遇到了各种文件types可能被发送到要打印的文件夹的困难。

我第一次尝试与Microsoft Office文件。 我想要做的是启动办公室来打印文件。 这更像是一个抓住,我没有真正使用图书馆或类似的东西。

到目前为止,这种方法是可行的,但是当办公室没有开始办公应用程序时,办公室要求用户名字缩写。 所以,在这种情况下,我的应用程序将无法正常工作,因为我正在以编程方式执行此操作。

ProcessStartInfo info = new ProcessStartInfo(myDocumentsPath); info.Verb = "Print"; info.CreateNoWindow = true; info.WindowStyle = ProcessWindowStyle.Hidden; Process.Start(info); 

现在我正在尝试使用Microsoft Office文件,但是我也会为其他types应用相同的方法。

无论如何绕过第一个办公室运行所需的缩写?

或者更好的方法来解决我的问题?

任何帮助表示赞赏,在此先感谢。

没有什么可以做的, 对于将打印您将要支持的每种类型文件的应用程序,您需要确保应用程序配置正确。

这意味着对于办公室(因为它是作为一个进程外的COM服务器运行的),您应该在执行打印的帐户下运行它,这样您可以输入首字母缩写,并在服务器尝试时不会提示输入打印它。

对于其他所有应用程序(假设执行应用程序来打印它)都是一样的,它需要以进程运行的帐户运行并正确配置。

使用Winternals的regmon注册表活动监视器来确定Office存储在Windows注册表中的首字母缩写,然后在打印之前写入这些键。