我有简单的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:An 获取默认打印机时发生异常。 Win32错误: 系统找不到指定的文件。 在System.Printing.LocalPrintServer.GetDataFromServer(String property,Boolean forceRefresh)at at System.Printing.LocalPrintServer.GetUnInitializedData(字符串[] 物业) System.Printing.LocalPrintServer.get_DefaultPrintQueue()at System.Printing.LocalPrintServer.GetDefaultPrintQueue()at blablabla.Service1.OnStart(String [] args)at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(对象 状态)
有人可以帮忙吗? 谢谢。
P.S。我想LocalSystem应该有个人资料。我知道我的默认打印机不是LocalSystem的默认打印机......
答案 0 :(得分:0)
本地系统没有个人资料......
我认为您应该处理缺少默认打印机......以及默认打印队列。
http://msdn.microsoft.com/it-it/library/system.printing.localprintserver(v=vs.110).aspx
getprintqueues这样的方法看起来很有意思......