我直接向打印机打印pdf,但我想在后台执行此操作。 目前一切正常,但你可以看到adobe正在启动并打开文档,而我希望它保持隐藏状态。
为此,我尝试使用:
Process1.StartInfo.CreateNoWindow = True
但它不会起作用,而我所做的一切都和写的一样: MSDN
提到你应该放置
psi.UseShellExecute = False
为了让CreateNoWindow工作,但是当我把它放在我的代码中时,我收到一条错误消息:系统找不到指定的文件,而没有这一行,它就可以工作。
您可以在下面找到整个代码:
Dim Process1 As New System.Diagnostics.Process
Dim psi As New ProcessStartInfo("AcroRd32.exe", "/t " + temppdf + " " + General.pdfprinter + "")
'psi.UseShellExecute = False
psi.CreateNoWindow = True
Process1.StartInfo = psi
Process1.Start()
Process1.WaitForInputIdle()
Process1.Kill()
有什么想法吗?
答案 0 :(得分:0)
这个怎么样?
定义ShowWindow函数:
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As ShowWindowCommands) As Boolean
End Function
然后叫它:
Process1.Start()
ShowWindow(Process1.MainWindowHandle, 0)