以下代码在 Windows 7 上成功打印,但在 Windows XP 上不起作用。如果我进入记事本并手动打印文档,两台计算机的默认打印机设置都可以正常工作。在 Windows XP 盒子上,它就在那里,没有错误,什么都没有。
我该如何调试它以获得错误消息或其他方式来找出为什么不打印?
try
{
if (File.Exists(pdfPath))
{
Process process = new Process();
process.StartInfo.FileName = pdfPath;
process.StartInfo.Verb = "print";
process.StartInfo.CreateNoWindow = true;
process.Start();
process.WaitForInputIdle();
process.Kill();
}
else
{
MessageBox.Show("The file \"" + pdfPath + "\" does not exist", "File not found", MessageBoxButtons.OK, MessageBoxIcon.Error);
statusLabel.Text = "";
return;
}
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Unable to print packing slip", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}