大家好,以下是判断打印机状态的,参照网上的文章写得,现在能够正常获取的状态是:空闲、正在打印。但是当我打印机关机或者Error状态时,仍是返回空闲,这是为什么呢?谢谢。
public static class PrinterCheck
{
public enum PrinterStatus
{
其他状态 = 1,
未知,
空闲,
正在打印,
预热,
停止打印,
打印中,
离线
} /// <summary>
/// 获取打印机的当前状态
/// </summary>
/// <param name="PrinterDevice">打印机设备名称</param>
/// <returns>打印机状态</returns>
public static PrinterStatus GetPrinterStatus(string PrinterDevice)
{
PrinterStatus ret = 0;
string path = @"win32_printer.DeviceId='" + PrinterDevice + "'";
ManagementObject printer = new ManagementObject(path);
printer.Get();
ret = (PrinterStatus)Convert.ToInt32(printer.Properties["PrinterStatus"].Value); return ret;
}
}
public static class PrinterCheck
{
public enum PrinterStatus
{
其他状态 = 1,
未知,
空闲,
正在打印,
预热,
停止打印,
打印中,
离线
} /// <summary>
/// 获取打印机的当前状态
/// </summary>
/// <param name="PrinterDevice">打印机设备名称</param>
/// <returns>打印机状态</returns>
public static PrinterStatus GetPrinterStatus(string PrinterDevice)
{
PrinterStatus ret = 0;
string path = @"win32_printer.DeviceId='" + PrinterDevice + "'";
ManagementObject printer = new ManagementObject(path);
printer.Get();
ret = (PrinterStatus)Convert.ToInt32(printer.Properties["PrinterStatus"].Value); return ret;
}
}
解决方案 »
- 服务器问题,请高手进
- C#如何更改文本文件中的内容
- 警告 2 CA1811 : Microsoft.Performance : “CommonFunction.FClose():Void”似乎没有上游 public 或 protected 的调用方.
- 高手请指点一下,DataGridViewComboBoxColumn 选值的问题
- 如何实现 datatable 内的列顺序调整
- 请问什么是只能客户端?
- form 窗体中的dataGrid 控件如何获得一行中某列的值
- 有谁知道怎么在自己的程序中接收sina,163等邮箱的邮件?(c#,vb.net)
- textBox显示数组的问题
- 请教高手--DataGrid问题
- 当窗体最大化后,打开其他窗体如何正常大小。
- 我想在vs2005中查看变量地址(包括值类型,引用类型和函数的地址),有没有办法?
http://topic.csdn.net/u/20090831/08/9a829009-e118-4e87-9395-b1b1c180ba3a.html