32 位应用程序的打印机驱动程序主机已停止工作

printer driver host for 32bit application has stopped working

我有一个用 C# 编写的应用程序,可以打印出来自各种用户控件和表单的标签。我遇到了一个错误,我经常收到 windows 对话框说 "printer driver host for 32bit application has stopped working".

由于它不是在打印后直接发生的,所以我不确定它是否与我的代码有关,但这是我用来打印标签的函数;

            try
            {
                fontware_code128 Barcode = new fontware_code128();
                Font myFont = new Font("Arial", 24);

                PrintDocument printDoc = new PrintDocument();
                printDoc.DocumentName = "Standard Label";
                printDoc.DefaultPageSettings.PrinterSettings.PrinterName = Helper.GetPrinterName();
                printDoc.DefaultPageSettings.Landscape = true;
                printDoc.DefaultPageSettings.Margins = new Margins(10, 10, 10, 10);
                printDoc.PrintController = new StandardPrintController(); 

                printDoc.PrintPage += (sender, args) =>
                {
                    args.Graphics...
                };

                printDoc.Print();

                this.Close();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

非常感谢任何帮助,如需更多详细信息,请询问!

This article 说错误可能发生是因为 Microsoft 没有在 OEM 安装 CD 上包含所有打印驱动程序,因此打印机可能安装不正确。文章概述的修复是:

  1. 卸载计算机上已安装的所有打印机
  2. 将打印机重新安装为本地连接的网络打印机
  3. 键入打印机的主机名或 IP 地址。确保取消选中 查询打印机并自动 select 驱动程序
  4. 单击Windows更新以获取更新的打印机驱动程序列表并找到合适的驱动程序。

参考:http://www.techerator.com/2010/10/fix-print-driver-host-for-32bit-applications-has-stopped-working-error-in-windows-7/