首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#尝试在打印机脱机时获取打印机状态

在C#中,可以使用System.Printing命名空间提供的类来获取打印机的状态。具体步骤如下:

  1. 首先,需要引用System.Printing命名空间,可以在代码文件的开头添加以下语句:
代码语言:txt
复制
using System.Printing;
  1. 创建一个PrintServer对象,该对象表示本地计算机上的打印服务器:
代码语言:txt
复制
PrintServer printServer = new PrintServer();
  1. 获取本地计算机上的所有打印机:
代码语言:txt
复制
PrintQueueCollection printQueues = printServer.GetPrintQueues();
  1. 遍历打印机列表,获取每个打印机的状态:
代码语言:txt
复制
foreach (PrintQueue printQueue in printQueues)
{
    string printerName = printQueue.Name;
    PrintQueueStatus printerStatus = printQueue.QueueStatus;

    // 判断打印机是否脱机
    if (printerStatus == PrintQueueStatus.Offline)
    {
        Console.WriteLine("打印机 {0} 处于脱机状态。", printerName);
    }
    else
    {
        Console.WriteLine("打印机 {0} 正常工作。", printerName);
    }
}

在上述代码中,我们通过遍历打印机列表,获取每个打印机的名称和状态。如果打印机状态为PrintQueueStatus.Offline,则表示打印机处于脱机状态。

需要注意的是,以上代码只能获取本地计算机上的打印机状态。如果需要获取网络上的打印机状态,可以使用PrintServer的构造函数指定网络上的打印服务器的名称或IP地址。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云打印服务。

  • 腾讯云云服务器(CVM):提供高性能、可扩展的云服务器,可用于部署和运行各种应用程序。了解更多信息,请访问:腾讯云云服务器(CVM)
  • 腾讯云云打印服务:提供稳定可靠的云打印服务,支持打印机管理、打印任务管理等功能。了解更多信息,请访问:腾讯云云打印服务
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

共享计算机没有响应,网络共享打印机出现联机无反应的处理方法

倘若在排除了字体不全因素之后,共享打印机还是不能正确打印文件内容的话,我们不妨把打印机电源暂时关闭一段时间,以便将缓存在打印机内存中的各色垃圾及时清除干净,相信这样多半能解决共享打印乱码故障。...如此说来,共享打印机无反应的故障很有可能是网络打印机自身遇到了硬件故障,或者是用户在打印时可能操作或设置不当。...;如果重新安装了打印驱动程序后,共享打印机仍然没有反应的话,大家可以尝试着将打印机的电源暂时关闭一段时间,因为打印机工作时间一长之后,内部的打印缓存中可能保留许多所有打印任务,这些任务或许就是打印机无法反应的罪槐祸首...此时,我们可以在帐号设置窗口中,新建一个新的访问帐号,并授予该帐号能够访问共享打印机;以后Windows 98工作站要想访问服务器中的共享打印机时,可以先使用前面创建的新帐号来登录进Windows系统,...应用程序有没有被授权来使用共享打印机,如果Word应用程序被设为禁止访问打印机时,那么我们就需要及时将它修改为“允许”,或者干脆将防火墙程序关闭掉,以免Word文档将打印内容发送给共享打印机时受到系统防火墙的阻挡

2K20

披着狼皮的羊:HP打印机远程代码执行漏洞(RCE)是这样被发现的

未签名代码执行 – 打印机通常不受一些网络安全设备的直接监视,攻击者一旦成功在打印机上植入恶意程序,除了不受限制地获取打印任务之外,打印机还能成为内部网络的一个安全避难所,非常难于发现。...不安全的默认设置 基于上述测试启发,我们尝试在打印机中寻找是否存在一些组合的安全设置,能对上述攻击进行防护阻止,具体来说,也就是管理员如何设置才能避免内部网络的任何人有权重置管理员密码。.../bin目录内容 想获取/Core/bin目录内容似乎有点难度,当硬盘接入电脑后, /Core/bin目录是可见的,但它却是空的: 经过一番失败尝试后,我们明确知道它并不是空的,于是采取了另外一种方式进行获取...逆向HP解决方案包的DLL签名验证 由于我们已经可以部分逆向设计BDL格式包文件,如果要尝试在打印机上执行恶意代码,那么第一步显然是用修改的DLL文件替换掉BDL包中的某个DLL文件。...构建恶意的HP解决方案 打破HP的DLL文件数字签名验证 为了验证上面的怀疑,我们通过笔记本电脑的C#编程,构造重现了打印机上执行签名验证的算法。

2.9K50

在条码打印软件上如何选择TSC TTP-244Pro打印机

在条码打印软件中添加TSC TTP-244Pro打印机的方法也很简单,如果是本地打印机的话,需要在电脑上安装与条码打印机对应的打印驱动(条码打印软件也支持共享打印机,如果是共享打印机的话,不需要安装驱动...),安装完之后,在打印前,在条码打印软件的文档设置中,选择对应的打印机就可以进行打印操作了。...(2) 当系统侦测到打印机时,“发现新硬件”向导会自动出现 (3)若出现“发现新硬件”向导,请按“取消”按钮 (4) 若安装向导侦测到打印机时, 安装将自动进入下一步 (5) 若未能自动进入下一步,请检查打印机是否与电脑连接好...,选择对应的打印机(TSC TTP-244Pro打印机),条码打印软件一般选择的是默认的打印机,我们可以在这里根据自己的需求选择相应的打印机。...TSCTTP-244PRO.jpg 以上就是在条码打印软件中添加TSC TTP-244Pro打印机的操作步骤,条码打印软件各种打印机通用,支持普通打印机(彩色喷墨或激光打印机)、条码打印机、喷码打印机以及喷绘写真机等等

1.2K30

披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞

比如,在开场黑底白字上写着“世界上有数以亿计的商业打印机,只有不到2%是安全的”,从这里开始,视频中的“狼”执行了一系列不太可能的攻击,利用不安全的打印机获取公司网络和敏感数据,显而易见是指惠普打印机不会受到这些攻击...我们在两台惠普打印机上找到了一条目录穿越序列,如下所示: [NOMi4Pe.png] 不幸的是,无法从这一点检索文件内容或编写任何文件,任何尝试都会导致打印机崩溃并重新启动。...第一步是掌握在打印机上实际运行的代码,看起来惠普采取了一些措施来防止用户从打印机中提取操作系统和固件,不过我们可以绕过这些限制。...惠普解决方案包的DLL签名验证逆向工程 我们已经对BDL格式进行了部分逆向,在打印机上执行恶意代码的第一步,显然是用修改过的DLL文件替换在BDL中打包的DLL文件之一,然而并没有成功,在打印机调式日志中...七、构建恶意解决方案 打破惠普对DLL文件的数字签名验证 为了验证上述怀疑,我们用C#重新实现了打印机上执行签名验证的算法的一个接近完全副本。

1.6K80

Windows 7 连接 Windows 10 共享打印机,Windows 无法连接打印机,操作失败,错误为0x0000011b 的终极解决办法

笔者操作系统是Windows 7,用的打印机是从一台IP为192.168.1.202 的Windows 10 电脑共享的打印机,该打印机为 HP LaserJet M1005,但今天笔者按往常的方式连接打印机时...注意:本办法能够解决 ”Windows 7 从 Windows 10 共享打印机“的问题,但是否能解决其它操作系统从 Windows 10 共享打印机的问题,笔者没有尝试过。...注意:如果你连接不上Windows 10 系统或显示拒绝访问,即出现不了类似于以上图的界面,请先在Windows 10系统里将打印机设置为共享,方法为:在打印机所在的Windows 10 系统里打开控制面板...有些时候连接不上,请查看一下Windows 10 的服务管理器里的 Printer Spooler 是否启动,如果没有启动,请启动它,如果启动了,请尝试重启一下。...如下图: 二、自己创建打印机 在笔者尝试了各种解决办法后,总是无法解决这个问题了。只好通过添加打印机来解决。 以下的操作都是在Windows 7 电脑里进行的。

7K10

披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞

比如,在开场黑底白字上写着“世界上有数以亿计的商业打印机,只有不到2%是安全的”,从这里开始,视频中的“狼”执行了一系列不太可能的攻击,利用不安全的打印机获取公司网络和敏感数据,显而易见是指惠普打印机不会受到这些攻击...我们在两台惠普打印机上找到了一条目录穿越序列,如下所示: ? 不幸的是,无法从这一点检索文件内容或编写任何文件,任何尝试都会导致打印机崩溃并重新启动。...第一步是掌握在打印机上实际运行的代码,看起来惠普采取了一些措施来防止用户从打印机中提取操作系统和固件,不过我们可以绕过这些限制。...惠普解决方案包的DLL签名验证逆向工程 我们已经对BDL格式进行了部分逆向,在打印机上执行恶意代码的第一步,显然是用修改过的DLL文件替换在BDL中打包的DLL文件之一,然而并没有成功,在打印机调式日志中...七、构建恶意解决方案 打破惠普对DLL文件的数字签名验证 为了验证上述怀疑,我们用C#重新实现了打印机上执行签名验证的算法的一个接近完全副本。

89830

【愚公系列】2023年11月 WPF控件专题 PrintDialog控件详解

自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。...通过该控件,用户可以选择打印机、打印的范围、打印的份数、打印质量等,从而满足用户不同的打印需求。...1.属性介绍WPF中PrintDialog控件有以下属性:PrintQueue:获取或设置当前打印任务的打印队列。PrintTicket:获取或设置用于打印任务的打印机设置。...PageRange:获取或设置要打印的页范围。PrintTicketLevel:获取或设置打印机设置的级别。PrintTicketScope:获取或设置打印机设置的范围。...在实现打印预览功能时,可以使用PrintDialog控件来设置打印机和打印选项,并将预览结果显示在预览窗口中。

36211

真正实现上手零门槛,创意的利器—ELEGOO爱乐酷Saturn 4 Ultra 3D打印机 - 熊猫不是猫QAQ

爱乐酷Saturn 4 Ultra 作为初次上手的人,我需要一台能帮我把一切准备工作做好的3D打印机。...设备在开机时会进行自检,并在发送打印任务时自动进行调平,避免了繁琐的操作步骤。这使得打印过程更加简单和高效。...这些参数的设置会根据实际环境的变化而变化,通过尝试一两次就能找到准确的参数设置。...如果要用到网络打印,我们需要提前将设备联网,在ChituManager中添加打印机。...它采用了COB光源和菲涅尔透镜的设计方案,搭配405nm波长,使得其在打印手办或模型方面表现出色。这是FDM打印机所无法比拟的优势!

8210

打印显示服务器脱机win10,如何在Win10中将打印机状态从脱机更改为联机

Windows 10上的打印机可以具有脱机和联机状态。 我很惊讶地发现这一点,因为每个人都希望他们的打印机可供使用并准备好进行打印。 应该知道,当打印机机时,并不意味着它已被删除。...如果发现问题,Windows操作系统可以将打印机状态设置为脱机。 在本文中,我将展示如何将打印机状态更改为联机或将打印机恢复为联机状态打印机离线?...因此,让我们对其进行修复: –重新启动打印机并检查连接性 –更改打印机状态 –运行打印机疑难解答 –删除并添加打印机 –网络打印机故障排除。 尝试每个之后,请务必检查状态。...尝试关闭电源,等待大约1分钟,然后再打开电源,以检查是否可以解决问题 接下来,检查这个基本技巧。 确保打印机已连接电源,已打开电源并且已连接至计算机。...2]更改打印机状态 –打开Windows设置(Win + 1) –导航到设备>打印机和扫描仪 –选择要更改其状态打印机,然后单击“打开队列” –在“打印队列”窗口中,单击“脱机打印机”。

2.2K10

PrintNightmare

该漏洞目前为零日状态,微软暂未发布修复。...RpcAddPrinterDriver 向服务器添加打印机驱动程序 (RpcAddPrinterDriver),RpcAddPrinterDriver可以在在打印服务器上安装打印机驱动程序并链接配置、数据和打印机驱动程序文件...如果打印客户端请求的安装是打印机驱动程序升级,打印服务器应该执行以下额外的验证步骤: 验证当前安装的打印机驱动程序不是类打印机驱动程序。...创建打印机驱动程序对象,使用特定于实现的机制来确定打印机驱动程序对象的每个属性的布尔值。 如果任何客户端注册了服务器对象更改的通知,则必须向它们广播通知。 返回操作的状态。...那么可以在打印服务器中安装恶意驱动程序来达到LPE 和 RCE。

1.1K10

c#打印机脱机检查及阻塞打印

在使用winform编写自动打印服务的过程中,发现只要进行了打印命令的调用,文档就会进入到打印等待队列,如果打印机无法正常工作,则会影响到相关业务数据的正确转换,所以需要检查打印机状态来保障每次打印时打印机处于空闲状态...,打印时队列中也只能有一个文档,本文是通过引用System.Management来实现对打印机状态的查询 打印机状态获取 enum PrinterStatus {...预热 = 5, 停止打印 = 6, 脱机 = 7, } /// /// 获取打印机的当前状态...这里主要是通过一个while循环来不停的获取打印机状态,空闲时才会进行下一次打印,通过两个标志位来配合轮询的外部介入退出 FinishWait标志位是任务内部的标识,如果打印机检查到了错误状态则进行轮询退出.../预热时循环去查询打印机状态,如果变成了就绪就开始打印 while (State !

36630

硬件知识:打印机十个共性故障解决方法

6.2 喷墨打印机 原因:重复出现脏污是由于墨水盒或输墨管漏墨所致; 当喷嘴性能不良时,喷出的墨水与剩余墨水不能很好断开而处于平衡状态,也会出现漏墨现象。...解决方法:是在打印导轨上涂几滴仪表油,来回移动打印头,使其均匀分布。重新开机后,如果还有受阻现象,则有可能是驱动电路烧坏,需要拿到维修部了。...八、打印机不打印 8.1 检查打印机是否处于联机状态 在大多数打印机上“OnLine”按钮旁边都有一个指示联机状态的灯,正常情况下该联机灯应处于常亮状态。...如果该指示灯不亮或处于闪烁状态,则说明联机不正常,重点检查打印机电源是否接通、打印机电源开关是否打开、打印机电缆是否正确连接等。如果联机指示灯正常,关掉打印机,然后再打开,看打印测试页是否正常。...)”,但是有些打印机却要求使用其他端口; 如果不能打印大型文件,则应重点检查“超时设置”栏目的各项“超时设置”值,此选项仅对直接与计算机相连的打印机有效,使用网络打印机时则无效。

1.7K10

3D打印机USB联机打印是如何实现的?(以Cura插件USBPrinting为例)

查找串口设备列表并获取对应的打印机设备端口号,这部分的代码是在USBPrinterOutputDeviceManager.py这个文件里实现的。...处理打印过程中发生的异常事件 发送M105获取温度命令,这里Cura是做了一些处理的,发送该条命令的前提是打印机不处于忙状态并且温度到了设定的固件超时时间才会进行发送。Cura的超时设置为3s。..._setFirmwareName(line) # time()是获取时间戳,以秒作为时间间隔,这里的timeout是3,也就意味着,Cura发送获取温度的条件是: # 1、当前的打印机不处于忙状态..._firmware_idle_count > 1: # 此时打印机状态解除 self...._printer_busy = True # 如果在打印中接收到'!!',则表示打印机发出致命错误,这个时候需要直接取消打印 if self.

1.6K31

Tiko-与众不同的3D打印机

就在几年之前,3D打印机还是一种高端并且昂贵的设备。而随着制造业的发展,3D打印机逐渐被人们所接受,价格也不再那么高不可攀。然而,一款名为 Tiko 的3D打印机仍然给我们带来了不小的惊喜。...这款定价179美元的3D打印机通体圆润光滑,采用了一体式机身设计,而形状则是不同寻常的三角形。...CEO Matt Gajkowski 表示,在最初设计这款3D打印机时,采用了标准件设计,这意味着可以通过众筹的方式快速筹集资金用于产品生产。...在打印完成后,只需用手掰弯打印底座,加工件就会自己脱落下来。 常规的3D打印机底座需要保持加热以避免加工件在制造时发生收缩,但 Tiko 使用的是不加热底座。...不过无论如何,179美元的定价确实为3D打印机的推广和普及做出了不小的贡献。

40120

win10系统显示打印机未连接到服务器,Win10系统连接打印机显示未指定设备的解决教程…

打印机是我们在Win10打印机显示未指定设备的解决方法: 1.运行Windows疑难解答 –在Windows搜索框中键入疑难解答>单击搜索结果中的疑难解答。...3.卸下然后安装打印机 –首先,转到打印机的制造商网站,下载适用于您设备的最新驱动程序。...–展开“打印机”菜单>右键单击您的设备>选择“卸载设备”。 –从计算机上拔下打印机插头 –按开始按钮>打开设置 –单击应用程序>查找与打印机相关的软件并将其卸载。...–选择“设备和打印机”>右键单击打印机,然后选择“删除设备”。 –打开从制造商网站下载的设置并尝试运行它。 当系统提示无法找到打印机时,将设备重新连接到计算机并恢复安装。...获取更多相关教程请继续浏览 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130914.html原文链接:https://javaforall.cn

4.2K10
领券