爱学习的兔八哥 2021-07-06 10:57 采纳率: 0%
浏览 18

C# 封装 LeadTools 虚拟打印机报错

代码如下:

            string documentPrinterRegPath = @"SOFTWARE\LEAD Technologies, Inc.\19\\Printer\";
            PrinterInfo printerInfo = new PrinterInfo();
            printerInfo.MonitorName = printerName;
            printerInfo.PortName = printerName;
            printerInfo.ProductName = printerName;
            printerInfo.PrinterName = printerName;
            printerInfo.Password = printerPassword;

            printerInfo.RegistryKey = documentPrinterRegPath + printerName;
            printerInfo.DriverName = "Leadtools Printer";
            printerInfo.RootDir = @"C:\LEADTOOLS 19\Bin\Common\PrinterDriver\bin\";
            printerInfo.Url = "https://www.leadtools.com";
            printerInfo.PrinterExe = @"D:\work\test\TestPrint\TestPrint\bin\Debug\TestPrint.exe";
            printerInfo.AboutString = "LEADTOOLS Printer";
            //printerInfo.AboutIcon = System.IO.Path.Combine(Leadtools.Demos.DemosGlobal.ImagesFolder, "PrinterDriver.ico");

            Printer.Install(printInfo);  // 安装时报错

注册表中 ConnectionExe 对应的exe也是存在的。

但运行后报错:connection file not found。
有遇到过类似问题的吗 ?请问如何解决?

  • 写回答

1条回答 默认 最新

  • 辞轩. 2024-02-20 10:13
    关注

    以下内容来自 ChatGPT 4:
    你遇到的错误 "connection file not found" 通常意味着程序在尝试找到与虚拟打印机相关联的某个文件时失败了。这个问题可能由几个不同的原因引起,以下是一些可能的解决方案和检查步骤:

    1. 确保路径正确:首先要确保 printerInfo.RootDirprinterInfo.PrinterExe 指定的路径完全正确,并且指向的文件确实存在。从你提供的代码看,这些路径看起来是硬编码的。如果这些文件被移动或删除了,或者路径有任何的打字错误,那么就会导致这个错误。

    2. 检查注册表设置:错误信息提到 "connection file not found",这可能意味着程序在注册表中查找某个值时遇到问题。你指定的 printerInfo.RegistryKey 是基于 documentPrinterRegPath + printerName。确保这个注册表路径正确,并且对应的条目(可能是 ConnectionExe)指向正确的可执行文件路径。

    3. 权限问题:安装虚拟打印机可能需要管理员权限。确保你的应用程序有足够的权限来修改注册表和安装打印机驱动程序。

    4. LEADTOOLS 版本兼容性:确认你使用的 LEADTOOLS 的版本与你尝试安装的虚拟打印机兼容。虽然你的代码片段提到了 LEADTOOLS 19,但确保所有组件、SDK和运行时文件都是相匹配的版本。

    5. 检查 LEADTOOLS 日志:LEADTOOLS 通常会提供日志功能,可以记录安装过程中发生的事件和错误。检查 LEADTOOLS 的日志文件可能会提供更多关于为什么会出现 "connection file not found" 错误的线索。

    6. 联系 LEADTOOLS 支持:如果你在尝试上述步骤后仍然遇到问题,最直接的方式是联系 LEADTOOLS 的技术支持。他们对自己的产品了解得最多,可能能提供更具体的解决方案或者是发现问题的新方向。

    最后,代码中的 Printer.Install(printInfo); 应该是 Printer.Install(printerInfo);,确保你的代码中没有类似的笔误,这也可能是导致问题的原因之一。

    评论

报告相同问题?

悬赏问题

  • ¥15 电路原理(关键词-工作原理)
  • ¥15 yolov5s模型下载就卡住,没有运行结果
  • ¥15 请问代码技术们,云梦建站的这个坑你们踩过吗?
  • ¥20 androidstudio工具问题
  • ¥15 想问一些关于计量的问题
  • ¥15 关于c++外部库文件宏的问题,求解
  • ¥15 office打开卡退(新电脑重装office系统后)
  • ¥300 FLUENT 火箭发动机燃烧EDC仿真
  • ¥15 【Hadoop 问题】Hadoop编译所遇问题hadoop-common: make failed with error code 2
  • ¥15 vb6.0+webbrowser无法加载某个网页求解