与打印机对话

2023-11-22

有没有办法编写一些可以与打印机“对话”的代码,以获得有关其状态的一些基本信息?我真正感兴趣的是查明是否缺纸或卡纸——诸如此类的事情。我应该使用 System.Management 库来处理此类内容吗?

PS - 了解如何获取已在特定 PC 上设置的所有打印机也会很方便。你会怎么做呢?


使用 System.Management 从打印机获取信息相对容易。

    //Declare WMI Variables
    ManagementObject MgmtObject;
    ManagementObjectCollection MgmtCollection;
    ManagementObjectSearcher MgmtSearcher;

    //Perform the search for printers and return the listing as a collection
    MgmtSearcher = new ManagementObjectSearcher("Select * from Win32_Printer");
    MgmtCollection = MgmtSearcher.Get();

    foreach (ManagementObject objWMI in MgmtCollection)
    {
       //Do whatever action you want with the Printer
    }

Look at http://msdn.microsoft.com/en-us/library/aa394363.aspx有关 Win32_Printer 的方法和属性。对于你的问题:

//Test whether a Win32_Printer is out of paper or jammed
int state = Int32.Parse(objWMI["PrinterState"]);
if (state == 4) {
   //Paper Jam
} else if (state == 5) {
   //Paper Out
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与打印机对话 的相关文章

随机推荐

  • Mongo ObjectID:在野外使用安全吗?

    我正在设计一个与 MongoDB 交互的 API 现在的问题是 如果是safe使用原始 ObjectID 来查询对象等 直接使用 OID 时 例如在查询中 是否会出现任何安全问题 或者我应该在它们离开我的服务器环境之前对其进行加密 解密 查
  • 如何在 iPhone x 中设置安全区域布局

    我正在开发 Xamarin 表单应用程序 我的应用程序似乎在顶部设置了安全区域 但需要忽略它 当前场景 例外场景 我已经用谷歌搜索了这个问题并得到了下面的链接 按照下面的链接中提到的方式进行了尝试 但没有任何效果 https forums
  • 寻找积极维护的 php 矩阵数学库

    有谁知道我在哪里可以找到仍在积极维护的 PHP 矩阵数学库 我需要能够执行基本的矩阵运算 例如归约 转置 包括非方阵 求逆 行列式等 这个问题过去被问过 然后没有答案就关闭了 现在我需要同一问题的答案 请参阅相关问题的链接 PHP 中的矩阵
  • 错误 - “gem install Rails” - libxml2 丢失

    我一直在研究 Rails 安装说明 http railsapps github io installrubyonrails mac html 一切都很好 直到我到达gem install rails部分下新轨道应用 当我运行时 我发现 li
  • Firebase 云消息传递 (FCM) - HTTP V1 API 还是旧版 HTTP API?

    我们的目标是将通知发送至设备组从我们的后端 并且只有从服务器端才能知道哪个设备应该接收通知 我们已经对 AppCenter 进行了一些尝试 因为我们主要使用 Xamarin iOS Android Forms 但现在我们怀疑直接使用 Fir
  • 获取远程注册表值

    我有下面的脚本 我希望它发送到多个服务器并获取注册表的值 不幸的是 它目前只是回发我正在运行脚本的计算机的本地注册表值 如何让脚本针对远程注册表运行 SCRIPT clear ErrorActionPreference silentlyco
  • 与 rpath 的动态链接在 Ubuntu 17.10 下不起作用

    我构建了一个 R 包 它使用 Rcpp 并链接到第三方共享对象 libbarraopt so 它还链接到其他共享对象 例如liboptsrvr so在它自己的目录中 为了确保它能够找到它链接的那些共享对象 我将以下变量放入 Renviron
  • 如何使用委托将数据从自定义单元格传递到父视图中的标签

    我已经弄清楚如何在其他情况下在视图与代表之间传递数据 但这一个难倒了我 在此示例中 我尝试使用委托模式将按下按钮产生的数据发送到标签 但没有成功 我的猜测是 我在这里遗漏了一些基本的东西 并且我还没有找到任何以这种方式处理代表的例子 Vie
  • 将新行数据添加到gridview asp.net c#

    我用这段代码创建了一个类 public class Customer public Customer public Customer Customer cust ID cust ID Name cust Name FatherName cu
  • 删除 HTML 或 ASPX 扩展

    在托管的 IIS7 环境中 我正在寻找使用无扩展名文件名的最简单方法 只是我有以下页面 index html or aspx gt example com gallery html gt example com gallery videos
  • C# 图像大小调整 - 丢失 EXIF

    是的 是的 我看过与此问题相关的其他帖子 是的 我已经用谷歌搜索过它 但到目前为止 我还没有达到我需要的结果 我正在加载以 300 dpi 拍摄的大图像 并且需要调整其大小 我知道 我知道 dpi 是相对的 并不重要 重要的是像素尺寸 DP
  • 具有不同 UsernamePasswordAuthToken 的多个 AuthenticationProvider 用于验证不同的登录表单,无需后备身份验证

    在使用 spring security 时 我在 stackoverflow 中看到了有趣的线程 其中需要进行身份验证两组用户反对不同的身份验证提供商说员工反对LDAP和客户反对DATABASE Thread 提出了一种公认的解决方案 即使
  • Gradle 不从本地 jar 下载传递依赖项

    我在本地有一个依赖项 但 Gradle 似乎没有采用位于 pom 中找到的传递依赖项META INF maven pom xml Gradle 可以从那里获取传递依赖吗 如果您将 jar 托管在本地文件夹中 则需要遵守Maven 存储库目录
  • 如何使用 Azure AD B2C 在react-aad-msal 中使用“忘记密码”功能?

    我在用反应 aad msal使用 Azure AD B2C 我可以正常登录和退出 但是 当我单击 忘记密码 时 身份验证窗口消失并且没有任何反应 看来我需要指定 忘记密码 策略的名称 但我不知道该把它放在哪里 根据托尼的回答 将此代码添加到
  • 如何在vb6中将bmp转换为jpg

    如何在vb6中将bmp转换为jpg 检查这个link Convert BMP to JPG with this code Note Requires vic32 dll available from http www catenary co
  • Resolve 函数在 ClojureScript 中引发错误,但在 Clojure 中不会引发错误

    以下程序在 Clojure 中按我的预期工作 但在 ClojureScript 中抛出错误 我想知道这是否是一个错误 或者 ClojureScript 中根本不提供该功能 或者我是否需要重新考虑我尝试执行此操作的方式 非常感谢您提前的帮助
  • 如何使用 Capybara 获取 HTML 表格行

    我正在尝试使用部分 href xpath 扫描 HTML 表中的行 并对该行的其他列值执行进一步测试 div table tr td a href afile key HONDA link a td td 29 33 485 td td 4
  • 如何在 Swift 中关闭 ViewController?

    我试图通过调用快速关闭 ViewControllerdismissViewController in an IBAction IBAction func cancel sender AnyObject self dismissViewCon
  • 冒泡排序最坏情况的例子是 O(n*n),怎么样?

    我正在尝试冒泡排序 有 5 个元素 数组未排序 冒泡排序的最坏情况应该是 O n 2 作为一个例子 我正在使用 A 5 4 3 2 1 在这种情况下 比较应为 5 2 25 使用手动验证和代码 我得到的比较计数为 20 以下是冒泡排序的实现
  • 与打印机对话

    有没有办法编写一些可以与打印机 对话 的代码 以获得有关其状态的一些基本信息 我真正感兴趣的是查明是否缺纸或卡纸 诸如此类的事情 我应该使用 System Management 库来处理此类内容吗 PS 了解如何获取已在特定 PC 上设置的