3

C# で WMI を使用して、コンピューター上のプリンターを列挙および変更しています。

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

ただし、デフォルトでは、Windows は私のプリンターを WSD (デバイス上の Web サービス) プリンターとしてインストールしています。これが発生すると、プリンターは WSD ポートを使用しますが、WMI を使用して触れることはできないようです。

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

スクリーンショット

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

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

4

1 に答える 1

1

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

ここに画像の説明を入力

于 2012-02-09T23:34:48.677 に答える