0

我正在尝试按照 Microsoft 的这些说明使用 .NET 4.0 库中的 Process 和 ProcessInfo 类以编程方式打印文件。http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.verbs(v=vs.100).aspx

我在 \\server\printername 设置了网络打印机,并且能够在该位置打印测试页。

但是,当我在 Visual Studio 中运行此代码时,它不会打印,也不会返回任何错误,说明存在问题:

    Dim proc As New Process
    Dim startInfo As New ProcessStartInfo(filename)
    proc.StartInfo.FileName = filename
    proc.StartInfo.Verb = "printto"
    startInfo.Arguments = "\\server\printername"
    proc.StartInfo = startInfo
    proc.Start()

据我所知,这些代码所做的只是在新窗口中打开 txt 文件。

如果我尝试从 CMD shell 运行该进程,则会收到以下错误:

print /d:\\servername\printername C:\path\filename.txt
unable to initialize device \\servername\printername

我可以采取哪些步骤来调试此问题?

4

1 回答 1

1

设置属性后,您将覆盖 proc.StartInfo。

尝试:

Dim proc As New Process
Dim startInfo As New ProcessStartInfo(filename)
startInfo.FileName = filename
startInfo.Verb = "printto"
startInfo.Arguments = "\\server\printername"
proc.StartInfo = startInfo
proc.Start()
于 2012-10-10T17:27:47.533 回答