我有一个朋友用窗口形式做了同样的事情 我需要的是将它变成窗口服务。
Window服务程序(打印控制器服务)将用作中央打印机控制器 根据具体情况,我会将打印作业发送到网络上的不同打印机(打印机安装在USB上)。 已经可以进行测试打印,但是当我列出已安装的打印机时,这些网络打印机未列出。
但是在我朋友的程序中,他需要做的就是将打印机名称设置为机器的IP地址,对于该机器,只需确保将其设置为默认打印机即可。
一旦我的朋友设置了ipaddress并触发打印,它就会被打印到正确的打印机上。但对于我的情况,窗口服务已经没有列出网络打印机,如果打印机名称错误,它将不会打印。
对于我的窗口服务,我正在使用本地系统 听说过用打印机的相关IP地址创建一个本地端口,但还没有设法测试。
希望有人能够提供一些指导
答案 0 :(得分:3)
从Windows服务打印不是recommended。 Windows服务在后台运行,没有UI。 你可以看看: Print html document from Windows Service in C# without print dialog
修改强>
“对于我的窗口服务,我正在使用 本地系统。“
我猜您需要使用different account作为您的服务(域帐户),以便您可以访问网络资源。
答案 1 :(得分:0)
有点放弃使用窗口服务,因为当我记录我的计算机可以访问的打印机时,它只会显示本地安装的那些,这些网络打印机无法以某种方式识别。
尝试使用标准TCP / IP端口,设置没有问题,但甚至无法进行测试打印。
决定使用窗口形式进行权衡,根据映射设置默认打印机并发出打印命令。经过测试并且有效。这样,用户每天只需要登录计算机,但优点是在权限和访问权限方面不需要额外设置的问题