用C#检测你的打印机是否连接

点击此处下载全部源程序

【下载说明】
1、单击上面这个地址,打开下载页面。
2、点普通下载--等待30秒--点“下载”按钮--保存

介绍

下面的代码将会检测你的系统是否已经连接到一个打印机。通过USB和网络连接的打印机都是可以被检测到的(尚未测试LPT口的打印机)。

一些打印机(如我的HP DeskJet 930c)尽管我按了OFF按钮(只有电源适配器是开着的),仍然能够探测到在线。这是真的,因为打印机队列不为空的时候,它能够自动启动。但是,如果我关掉了电源适配器,那么打印机就不能自动启动了。当然了,Windows会通过打印机控制面板的”使用离线打印机“来调整打印机的设定。

网络打印机有时当我连接上网线,Windows会自动的取消选择”使用离线打印机“。当我拔掉网线时,Windows又自动的选择”使用离线打印机“。这就是我的代码要检测的,就是”使用离线打印机“选项是不是被选中了。

using System;
using System.Management; 
namespace zedilabs.com
{
 class PrinterOffline
 {
  [STAThread]
  static void Main(string[] args)
  {
   // Set management scope
   ManagementScope scope = new ManagementScope(@"\root\cimv2");
   scope.Connect();

   // Select Printers from WMI Object Collections
   ManagementObjectSearcher searcher = new 
    ManagementObjectSearcher("SELECT * FROM Win32_Printer");

   string printerName = "";
   foreach (ManagementObject printer in searcher.Get()) 
   {
    printerName = printer["Name"].ToString().ToLower();
    if (printerName.Equals(@"hp deskjet 930c"))
    {
     Console.WriteLine("Printer = " + printer["Name"]); 
     if (printer["WorkOffline"].ToString().ToLower().Equals("true"))
     {
      // printer is offline by user
      Console.WriteLine("Your Plug-N-Play printer is not connected.");
     }
     else
     {
      // printer is not offline
       Console.WriteLine("Your Plug-N-Play printer is connected.");
     }
    }
   }
  }
 }
}
点击此处查看原文地址
  1. [原]GetAlpha:C#实现获取网页验证码图片,并识别出其中的字母
  2. [原]Cls_Ini.cls:VB写的操作ini配置文件的类
  3. [译]用C#检测你的打印机是否连接
  4. [原]Hotkey.cs:为应用程序添加热键
  5. [译]用C#检测你的打印机是否连接
  6. [原]《The C Programming Language》电子书下载
  7. [原]PjConvertImageFormat:用FreeImage.NET写的一个35种图像格式转换程序
  8. [原]DownloadWebImages:下载某页面上的所有图片
  9. [原]GetAlpha:C#实现获取网页验证码图片,并识别出其中的字母
  10. [原]ManageApps:C#读取Windows系统中的已经安装的程序并卸载软件
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值