【问题标题】:Can I use WMI to manage WSD devices (specifically printers)?我可以使用 WMI 来管理 WSD 设备(特别是打印机)吗?
【发布时间】:2012-02-23 17:54:04
【问题描述】:

我正在使用带有 C# 的 WMI 来枚举和修改我计算机上的打印机。

我运行的是 Windows 7,当我尝试修改“经典”安装的打印机时,一切正常。 “经典”是指打印机仅使用基本的 TCP/IP 端口。我可以使用此处记录的 WMI 函数重命名它、将其设置为默认打印机等:http://msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=vs.85).aspx

但是,默认情况下,Windows 将我的打印机安装为 WSD(设备上的 Web 服务)打印机。发生这种情况时,打印机使用 WSD 端口,我似乎无法使用 WMI 触摸。

在下面的屏幕截图中,您可以看到我的打印机正在使用“WSD 端口”。该端口下方是我的打印机在未安装 WSD 时使用的标准 TCP/IP 端口。

我的打印机附带的软件使用标准 TCP/IP 端口安装打印机。但是,当我手动安装打印机时,Windows 会选择 WSD 端口。

WMI 似乎没有为启用 WSD 的设备定义。有人知道这是不是真的吗?

【问题讨论】:

    标签: c# .net wmi wsd


    【解决方案1】:

    它应该在您的 WMI 中,您的设备和打印机中显示的所有打印机都列在 WMI 上。举个例子,我有一个类似的情况,我有一台使用 WSD 端口名的打印机,我们可以从代码中管理它。

    【讨论】:

    • 您知道是否可以像使用标准打印机一样使用 WMI 接口来修改打印机?
    • WMI 接口是什么意思?顺便说一句,我正在使用 System.Management.ManagementClass
    • 例如,Win32_Printer class 有几个可以调用的方法:msdn.microsoft.com/en-us/library/windows/desktop/… - 这些方法不适用于 WSD 打印机。
    • 我从来没有遇到过问题,你是如何在你的代码中实现它的?这是我的一篇博文,解释了用 C# 管理打印机可能值得一看 anyrest.wordpress.com/2010/05/12/…
    • 多么巧合,我一直在使用该代码。让我再尝试一次;我可能只是做了一些愚蠢的事情。谢谢!
    猜你喜欢
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多