В одном из наших приложений мы используем метод Winspool.drv SetDefaultPrinter (abc). На некоторых машинах он работает нормально, но на других он не работает (вызов метода SetDefaultPrinter() возвращает false).
Раньше я предполагал, что winspool.drv отсутствует на машине, где он не работает. Однако winspool.drv существует на всех машинах.
Может ли кто-нибудь объяснить, при каких обстоятельствах SetDefaultPrinter (..) возвращает false (0) и что я могу сделать, чтобы сделать вызов успешным?
Вы проверили, доступно ли имя printername на рабочей станции?
foreach (string sAvailable in PrinterSettings.InstalledPrinters)
{
XML.log("Available printer " + sAvailable, Constants.logDebug);
if (sPrinter == sAvailable)
{
break;
}
}