0

我已经尝试了我能想到的一切,但我无法让 OpenPrinter API 在我的 BasicMsi 中工作

 prototype BOOL SETUPAPI.OpenPrinterW(
 WSTRING, //_In_   LPTSTR pPrinterName,
 NUMBER,//_Out_  LPHANDLE phPrinter,
 WPOINTER//_In_   LPPRINTER_DEFAULTS pDefault
);

try
    OpenPrinterW(szDriverName, Printer, NULL);


catch
    Err = GetLastError();
    SprintfBox (INFORMATION, "L862Error","Error occured: %i\n\n%s\n\n%s", Err.Number, Err.Description, Err.LastDllError); 

endcatch;

我总是返回 -2147219709,我也尝试过使用 OpenPrinterA 和 OpenPrinter,但每次都出现同样的错误。

有没有人知道我可能做错了什么?

4

1 回答 1

0

我怀疑是这个错误:ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795 (0x703) 指定的打印机驱动程序已经安装

我将您的错误号转换为十六进制,它是 80040703,这是我从中得到 703 的地方(8004 表示这是 FACIILITY_ITF 中的错误)

不确定这是否有帮助......但它可能会让你开始。我想知道这是否是 msiexec 看不到打印机的某种问题,因此尝试安装它。

于 2015-01-27T15:41:37.977 回答