Почему LocalPrintServer.GetDefaultPrintQueue () не работает на компьютерах в домене - PullRequest
3 голосов
/ 28 марта 2012

У меня есть простая служба Windows (вход в систему: локальная система) с запуском / остановкой, как указано ниже:

protected override void OnStart(string[] args)
{
    EventLog.WriteEntry(SOURCE, "Start");
    var queue = LocalPrintServer.GetDefaultPrintQueue();
}
protected override void OnStop()
{
    EventLog.WriteEntry(SOURCE, "Stop");
}

Она работает на моей локальной Win 7 (x64), но не запускается на Win 7(x64) в домене.Я вижу исключение:

Служба не может быть запущена.System.Printing.PrintServerException: исключение произошло при получении принтера по умолчанию.Ошибка Win32: система не может найти указанный файл.в System.Printing.LocalPrintServer.GetDataFromServer (свойство String, булево значение forceRefresh) в System.Printing.LocalPrintServer.GetUnInitializedData (String [] свойства) в System.Printing.LocalPrintSerint.erint.guerPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPortPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayPlayDblablabla.Service1.OnStart (String [] args) в System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback (состояние объекта)

Кто-нибудь может помочь с этим?Спасибо.

ps Я думаю, у LocalSystem должен быть профиль.И я знаю, что мой принтер по умолчанию не является принтером по умолчанию для LocalSystem ...

1 Ответ

0 голосов
/ 19 ноября 2013

Локальная система не имеет профиля ...

Я думаю, что вы должны справиться с отсутствием принтера по умолчанию ... И так по умолчанию очереди печати. ​​

http://msdn.microsoft.com/it-it/library/system.printing.localprintserver(v=vs.110).aspx

методы, такие getprintqueues выглядит интересным для вашей цели ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...