You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

网络打印机C#Windows服务挑战

这个问题的解决方法是使用C#开发一个Windows服务,该服务将监控打印机并将打印请求定向到网络打印机。具体步骤如下:

1.安装打印机驱动程序并安装网络打印机。 2.创建一个Windows服务项目。 3.在服务项目中添加一个打印机监视器,并建立一个打印机监听事件,以便在打印作业提交时接收通知。 4.使用Win32打印机API连接到本地打印机。 5.将打印作业转发到网络打印机。

以下是关键代码示例:

打印机监视器:

public partial class PrinterService : ServiceBase
{
    private LocalPrintServer _localPrintServer = new LocalPrintServer();
    private PrintQueue _printQueue;

    public PrinterService()
    {
        InitializeComponent();
    }

    protected override void OnStart(string[] args)
    {
        // Connect to the printer
        _printQueue = _localPrintServer.GetPrintQueue(args[0]);
        _printQueue.Refresh();

        // Set up a print job event handler
        _printQueue.JobSubmitted += PrintJobSubmitted;
    }

    protected override void OnStop()
    {
        // Remove the print job handler
        _printQueue.JobSubmitted -= PrintJobSubmitted;
    }

    private void PrintJobSubmitted(object sender, PrintJobEventArgs e)
    {
        // Forward the print job to the network printer
        var networkPrinter = new PrintQueue(new PrintServer(args[1]), args[2])
        {
            CurrentJobSettings = e.PrintJob.GetPrintTicket().GetXmlStream().ToString()
        };

        var networkJob = networkPrinter.AddJob(e.PrintJob.Name, e.PrintJob.JobIdentifier, e.PrintJob.JobStream, e.PrintJob.JobProperties, e.PrintJob.DocumentProperties);

        // Wait for the print job to complete on the network printer
        networkJob.Refresh();
        while (networkJob.IsPrinting)
        {
            Thread.Sleep(100);
            networkJob.Refresh();
        }
    }
}

安装Windows服务:

static class Program
{
    static void Main(string[] args)
    {
        if (!Environment.UserInteractive)
        {
            // Run as a service
            var servicesToRun = new ServiceBase[] { new PrinterService(args) };
            ServiceBase.Run(servicesToRun);
        }
        else if (args.Length == 3)
        {
            // Install or remove the service
            var serviceInstaller = new AssemblyInstaller(typeof(Program).Assembly, null)
            {
                UseNewContext = true
            };

            switch (args[0])
            {
                case "-install":
                    serviceInstaller.Install(new Hashtable());
                    serviceInstaller.Commit(new Hashtable());
                    break;

                case "-uninstall":
                    serviceInstaller.Uninstall(null);
                    break;
            }
        }
        else
        {
            Console.WriteLine("Invalid arguments.");
        }
    }
}

要安装服务,请在命令行中运行以下命令:

MyService.exe -install "Local Printer Name" "Network Printer IP" "Network Printer Name"

要卸载服务,请在命令行中运行以下命令:

MyService.exe -uninstall

使用此解决方案,Windows服务将定期检查打印机队列中的作业,并将其定向到网络打印机。如果有多个本地打印机,请为每个打

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

映美云入驻集简云平台,实现无代码集成数百款应用

更是互联网及大数据的入口。映美云打印通过云开放平台为开发者提供可靠、安全、易用的云打印接口,丰富的云打印设备,专业的技术支持服务,让用户能快速定制不同场景的云打印方案。![picture.image](https... 成为了打印机行业突破的重点。越来越多的打印机设备开始搭载更多的新功能,并且这些功能逐渐成为改变用户使用体验的关键。而智能打印必须灵活依附于企业各种办公系统,才能让打印更加便捷、高效。**如何将这些...

集简云4月新增/更新:新增19大功能,45款应用,更新18款应用,新增210多个动作

高质量的文档翻译服务,提供多场景、多语种、高精度的整图识别 + 翻译服务,还可将60秒以内的语音识别成文字并翻译成目标语言,支持译文语音播报。 5**O... 在线客服系统,抖音私信,抖音评论回复等。详细文章请见:[集简云上线ChatGPT文档问答,基于文档实现智能问答训练](http://mp.weixin.qq.com/s?__biz=Mzg5MjcxODg4Mw==&mid=2247510434&idx=1&sn=3278581c416d3f5...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

网络打印机C#Windows服务挑战-优选内容

映美云入驻集简云平台,实现无代码集成数百款应用
更是互联网及大数据的入口。映美云打印通过云开放平台为开发者提供可靠、安全、易用的云打印接口,丰富的云打印设备,专业的技术支持服务,让用户能快速定制不同场景的云打印方案。![picture.image](https... 成为了打印机行业突破的重点。越来越多的打印机设备开始搭载更多的新功能,并且这些功能逐渐成为改变用户使用体验的关键。而智能打印必须灵活依附于企业各种办公系统,才能让打印更加便捷、高效。**如何将这些...
集简云4月新增/更新:新增19大功能,45款应用,更新18款应用,新增210多个动作
高质量的文档翻译服务,提供多场景、多语种、高精度的整图识别 + 翻译服务,还可将60秒以内的语音识别成文字并翻译成目标语言,支持译文语音播报。 5**O... 在线客服系统,抖音私信,抖音评论回复等。详细文章请见:[集简云上线ChatGPT文档问答,基于文档实现智能问答训练](http://mp.weixin.qq.com/s?__biz=Mzg5MjcxODg4Mw==&mid=2247510434&idx=1&sn=3278581c416d3f5...

网络打印机C#Windows服务挑战-相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询