欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 获取打印机当前状态的方法

程序员文章站 2023-12-17 19:58:04
要获得打印机的状态,应该定义一个联合.复制代码 代码如下:enum printerstatus { 其他状态= 1, 未知, 空闲, ...

要获得打印机的状态,应该定义一个联合.

复制代码 代码如下:

enum printerstatus
{
 其他状态= 1,
 未知,
 空闲,
 正在打印,
 预热,
 停止打印,
 打印中,
 离线
}

其中的"正在打印"和"打印中"是同一个意思,至于为什么会是这样,目前还不知道.

在程序中添加system.management的引用:using system.management;

然后编写获取打印机状态的函数如下:

复制代码 代码如下:

/// <summary>
  /// 获取打印机的当前状态
  /// </summary>
  /// <param name="printerdevice">打印机设备名称</param>
  /// <returns>打印机状态</returns>
  private printerstatus getprinterstat(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;
  }

调用示例:
复制代码 代码如下:

messagebox.show(getprinterstat("////192.168.0.88//samsung scx-4x16 series").tostring());

上一篇:

下一篇: