2012-02-01 1 views
3

C#でWMIを使用して、コンピュータのプリンタを列挙して変更しています。WMIを使用してWSDデバイス(特にプリンタ)を管理できますか?

私はWindows 7を実行していて、「古典的」にインストールされているプリンタを変更しようとするとすべて正常に動作しています。 「古典的」とは、プリンタが基本的なTCP/IPポートを使用しているということです。ここでは、ドキュメント化されたWMI関数を使用して、名前を変更したり、デフォルトのプリンタとして設定したりできます。http://msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=vs.85).aspx

しかし、デフォルトでは、Windowsは自分のプリンタをWSD(Web Services on Devices)プリンタとしてインストールしています。これが起こると、プリンタはWMIを使用して触れることができないWSDポートを使用します。

以下のスクリーンショットで、私のプリンタが「WSDポート」を使用していることがわかります。そのポートの下には、私のプリンタがWSDなしでインストールしたときに使用する標準のTCP/IPポートがあります。

Screenshot

私のプリンタに付属のソフトウェアは、標準のTCP/IPポートを使用してプリンタをインストールします。しかし、プリンタを手動でインストールすると、WindowsはWSDポートを選択します。

WMIにはWSD対応デバイスの定義がないようです。これが本当なら誰でも知っていますか?

答えて

1

WMIには、デバイスとプリンタに表示されているすべてのプリンタが表示されます。例を挙げると、私はWSDのポート名を使用するプリンタがあり、コードから管理できるような状況があります。

enter image description here

+0

あなたが標準プリンタでできるように、プリンタを変更するには、WMIインターフェイスを使用することが可能であるならば、あなたは知っていますか? –

+0

WMIインターフェイスとはどういう意味ですか?私はSystem.Management.ManagementClassを使用しています。 – Raymund

+0

たとえば、 'Win32_Printer class'にはいくつかのメソッドがあります:http://msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v= vs.85).aspx - これらのメソッドはWSDプリンタでは動作しませんでした。 –

関連する問題