0

ウィンドウフォームで同じことをした友人がいます。
私が必要としているのは、これをウィンドウサービスにすることです。

ウィンドウサービスプログラム(印刷コントローラーサービス)は、中央プリンターコントローラーとして使用されます。
状況に応じて、ネットワーク上の別のプリンターに印刷ジョブを送信します(プリンターはUSBにインストールされています)。すでにテスト印刷は可能ですが、インストールされているプリンターを一覧表示すると、これらのネットワークプリンターが一覧表示されません。

しかし、私の友人のプログラムでは、彼がする必要があるのは、プリンター名をマシンのIPアドレスに設定することだけです。そのマシンの場合は、デフォルトのプリンターに設定されていることを確認してください。

友人がIPアドレスを設定して印刷をトリガーすると、正しいプリンターに印刷されます。しかし、私の場合、ウィンドウサービスはすでにネットワークプリンターを一覧表示していません。プリンター名が間違っていると印刷されません。

ウィンドウサービスには、ローカルシステムを使用しています。
プリンタの関連するIPアドレスを使用してローカルポートを作成することについて聞いたが、まだテストできていない。

誰かがいくつかのガイダンスを与えることができることを願っています

4

2 に答える 2

3

Windowsサービスからの印刷はお勧めしません。Windowsサービスはバックグラウンドで実行され、UIはありません。調べることができます: 印刷ダイアログなしでC#でWindowsサービスからhtmlドキュメントを印刷する

編集

「ウィンドウサービスには、ローカルシステムを使用しています。」

ネットワークリソースにアクセスするには、サービスに別のアカウント(ドメインアカウント)を使用する必要があると思います。

于 2010-10-22T12:02:19.687 に答える
0

コンピューターがアクセスできるプリンターをログダウンすると、ローカルにインストールされているプリンターのみが表示され、それらのネットワークプリンターは何らかの理由で認識されないため、ウィンドウサービスの使用をあきらめました。

標準のTCP/IPポートで試してみましたが、セットアップに問題はありませんが、テスト印刷を行うことさえできません。

ウィンドウフォームを使用してトレードオフすることを決定し、マッピングに従ってデフォルトのプリンターを設定し、印刷コマンドを発行します。テストして動作しました。このように、ユーザーは毎日コンピューターにログインするだけで済みますが、許可とアクセス権に関して追加の設定が必要になる問題がないという利点があります。

于 2010-10-26T14:40:33.313 に答える