点击此处下载全部源程序
【下载说明】
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.");
}
}
}
}
}
}
点击此处查看原文地址
- [原]GetAlpha:C#实现获取网页验证码图片,并识别出其中的字母
- [原]Cls_Ini.cls:VB写的操作ini配置文件的类
- [译]用C#检测你的打印机是否连接
- [原]Hotkey.cs:为应用程序添加热键
- [译]用C#检测你的打印机是否连接
- [原]《The C Programming Language》电子书下载
- [原]PjConvertImageFormat:用FreeImage.NET写的一个35种图像格式转换程序
- [原]DownloadWebImages:下载某页面上的所有图片
- [原]GetAlpha:C#实现获取网页验证码图片,并识别出其中的字母
- [原]ManageApps:C#读取Windows系统中的已经安装的程序并卸载软件