Windows TIPS
[System Environment]
  windows tips topへ
windows tips全リストへ
内容別分類一覧へ

プリント通知メッセージを非表示にする方法

デジタルアドバンテージ
2000/02/05

 LANの普及で最も便利になったことの1つは、1台のプリンタを複数のメンバで共有できるようになったことだろう。Windows 2000(Professionalを含むすべてのバージョン)は、自システムのプリンタ ポートやシリアル ポートなどに接続されたローカル プリンタを、共有プリンタとしてネットワーク上で公開する機能を持っている。この機能を使えば、ごく簡単に共有プリンタを作成し、ネットワーク環境で共有することが可能だ(共有プリンタの機能自体はWindows 9xにも備えられている)。

 ユーザーから遠くにある共有プリンタへの出力完了をユーザーに通知するために、Windows 2000のプリント スプーラは、NetBIOS(SMB)プロトコルのメッセージ通知機能を使って、印刷処理の完了やプリンタ エラーの通知、プリント ジョブの削除などをユーザーに通知するようになっている。ただしこのメッセージは、NT 4.0やWindows 2000ではデフォルトで表示されるが、Windows 9xでは、ポップアップ メッセージを表示するためのWinPopupを明示的に実行していなければ表示されない。

プリント スプーラからユーザーのコンピュータに送られた印刷完了通知
Windows 2000のプリント スプーラは、印刷の完了やプリンタ エラー、プリント ジョブの削除が発生すると、プリント ジョブを投入したユーザーに対してそれらのイベントを通知するようになっている。これにはNetBIOSプロトコルによるメッセージ送信機能が使われているのだが、画面の最前面に突然このダイアログが表示されるため、うっとうしいと感じているユーザーも少なくないだろう。ただしWindows 9xでは、明示的にWinPopupを実行していなければ、メッセージは表示されない(NTやWindows 2000はデフォルトで表示される)。

 このポップアップ メッセージは、画面の最前面に突然表示されるため、作業が中断されてしまうし、何よりびっくりしてしまう。よほど遠隔地にある共有プリンタか、大量のジョブが投入されているなどで、印刷完了までにかなり時間がかかるような大型計算機時代のプリンタならともかく、最近の共有プリンタは、ほとんどの場合同一フロアのLANの中にあるし、スプーラがプリント ジョブでいっぱいということもあまりなくなった(レーザープリンタも安価になったし、共有プリンタの機能がWindowsに実装されたことで、容易に共有プリンタを増設できるようになったため)。

 つまり現在では、いちいち印刷完了などを通知してくれなくても困らない場合が多いのである。幸い、必要なら、このプリント通知メッセージを非表示にすることができる。具体的な手段としては、プリント サーバ側のスプーラでメッセージ出力をオフにしてしまう方法、メッセージを受け取るクライアント側のメッセンジャー サービスを停止してしまう方法の2つがある。

方法1:プリント サーバ側のプリント スプーラで通知機能をオフにする

 プリント通知メッセージを非表示にする1つ目の手段は、共有プリンタを公開しているサーバ側のプリント スプーラで設定を変更し、スプーラ自身がプリント通知メッセージを送らないようにする方法である。この方法の特徴は、プリント スプーラ側でのメッセージ出力を停止してしまうため、そのスプーラを利用するあらゆるユーザーに対して一律にメッセージが出力されなくなるということだ。メッセージ表示を希望しない一部のユーザーのみ非表示にしたければ、次の方法2で述べる手段を選ぶ必要がある。またそのサーバ(スプーラ)が複数のプリンタを共有している場合には、それらすべてのサーバについて、メッセージ出力がオフにされる。なお、サーバのメッセージ出力をオフにした場合、そのプリント サーバのパラレル ポートやシリアル ポートに直接接続されたプリンタで発生したエラーについては、サーバ コンソールにエラーが表示されるようになる。

 以下に述べる設定方法は、Windows NT 4.0/Windows 2000をプリント サーバとして利用している場合のものだ。NT 3.51をプリント サーバとして利用している場合には、レジストリ エディタでSYSTEM\CurrentControlSet\Control\Print\ProvidersキーにNetPopupという値(タイプはREG_DWORDを指定)を追加し、データ フィールドを0にする。

[注意]

レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリ エディタの操作は慎重に行うとともに、あくまで御自分のリスクで操作を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。

 NT 4.0/Windows 2000をサーバとして利用しているなら、サーバに管理者権限でログインし、[スタート]ボタンの[設定]−[プリンタ]を実行する。すると次のようなウィンドウが表示され、そのサーバに接続されたプリンタが一覧表示される。

サーバに接続されたプリンタ一覧
[スタート]ボタンの[設定]−[プリンタ]を実行すると、そのサーバに接続されているプリンタがこのように一覧表示される。プリンタ アイコンの下についている「手」のマークは、そのプリンタがネットワーク上で公開された共有プリンタであることを示している。

 次にこのウィンドウの[ファイル]−[サーバーのプロパティ]を実行する。すると[プリント サーバーのプロパティ]ダイアログが表示されるので、[詳細設定]タブをクリックする。

[プリント サーバーのプロパティ]ダイアログの[詳細設定]タブ
[プリント サーバーのプロパティ]−[詳細設定]タブでは、スプーラのイベント ログに関する設定やプリント通知に関する各種設定を行える。画面はWindows 2000のもの。デフォルトではプリント通知メッセージを送る設定になっているので、このチェックボックスをオフにする。
  プリント通知メッセージを送信しないようにするには、このチェックボックスをオフにする。
  プリント通知メッセージを、ユーザーではなく、そのプリント ジョブを投入したコンピュータに送る場合にはここをチェックする。詳細は別稿にて公開予定。

 このダイアログでは、プリント スプーラの各種イベント ログに関する設定や、プリント通知メッセージに関する設定を行う。イベント通知メッセージを送らないようにするには、このうち最後から2番目の[リモート ドキュメントの印刷が終了したら通知する]のチェックマークをオフにすればよい。上の画面はWindows 2000でのもので、NT 4.0の相当するダイアログでは、最後の項目である[リモート ドキュメントの印刷終了後、ユーザーではなくコンピュータに通知する]は存在しない。これは、プリント通知メッセージをユーザーではなく、その印刷ジョブを投入したコンピュータに対して送るための指定で、この機能はWindows 2000で新しく追加された。このオプションの詳細については、別稿にて近日公開する予定である。

方法2:クライアント側のメッセンジャー サービスを停止する

 プリント通知メッセージは、NetBIOSプロトコルのメッセージ送信サービスを使って送られていると述べた。Windows NT 4.0、Windows 2000クライアント側でこの機能を支援しているのは、メッセージング サービスである。メッセージング サービスは、メッセージの送受信を可能にするためのサービスで、通常は管理者からのメッセージや、アラータ(alerter)からのメッセージなど、緊急性の高いメッセージをクライアントに表示できるようにするものだ(いきなり最前面に表示されるという強制力を持っているのもこのためである)。ただし、Windows 9xにはWindows 2000の「サービス」に相当するものはなく、デフォルトではメッセージは表示されない。Windows 9xでプリント通知メッセージを表示するには、メッセージを受信して表示するためのWinPopupを明示的に使用する必要がある。

 メッセージング サービスは、デフォルトで、システムの起動時に自動的に開始されるようになっている。プリント通知メッセージを非表示にしたければ、このメッセージング サービスを停止すればよい。この方法のメリットは、特定のクライアントだけ非表示にできることだ。またクライアント側だけを設定すればよいので、プリント スプーラの設定を変更できない一般ユーザーでも、自分のマシンに対する管理権限を持っていれば、設定を行うことができる。一方の欠点は、プリント通知メッセージだけでなく、メッセージング サービスを使用するすべてのメッセージが表示されなくなってしまうことだ。ただし通常の利用なら、それほどメッセージング サービスには依存していないはずだ。

 ここでは、Windows 2000クライアントを例に設定方法を解説しよう。まず最初は、コントロール パネルの[管理ツール]フォルダ−[サービス]アプレットを実行する([管理ツール]フォルダ−[コンピュータの管理]アプレットを起動し、[ツリー]から[サービスとアプリケーション]カテゴリの[サービス]を選択してもよい)。こうして表示される[サービス]ダイアログでは、Windows 2000システムに組み込まれているサービスが一覧表示され、各サービスの現在の状態などを確認できる。

[サービス]ダイアログ
この[サービス]ダイアログには、システムにインストールされているサービスが一覧表示され、各サービスの現在の状態などを確認できる。
  システムにインストールされているサービス一覧。
  サービスの名称。
  サービスの説明。各サービスの内容がかなり詳しく説明されている。
  サービスの現在の状態。[開始]なら実行中、空白なら停止中であることを表す。
  システム起動時の設定。[自動]は自動的に起動、[手動]は自動的には起動されず、必要に応じて手動で起動する、[無効]はシステム起動時の自動起動、ユーザーによる手動起動、他のサービスによる起動をいっさい禁止する指定。

 ここで、[状態]が[開始]のサービスは現在実行中のもの、空白は現在停止中のものを表す。また[スタートアップの種類]が[自動]なら、そのサービスはシステムの起動時に自動的に実行される。これに対し[手動]なら、システムの起動時には自動実行されない。サービスを実行するには、上の[サービス]ダイアログを開くなどして、手動で起動しなければならない。また[無効]なら、システム起動時に自動実行されないことはもちろん、ユーザーによる手動での起動も、他のサービスによる起動も行われない。[無効]のサービスを実行するには、一旦[手動]ないし[自動]に変更して、手動で起動する必要がある。

 メッセンジャー サービスを停止するには、一覧から「Messenger」という名前のサービスを探し出し、それをダブルクリックするか、選択してからマウスの右ボタンをクリックし、表示されるポップアップ メニューの[プロパティ]を実行する。

[Messenger]サービスを探し出し、プロパティ メニューの[プロパティ]を実行する
メッセンジャー サービスの名前は「Messenger」である。一覧からこの名前のサービスを見つけ出し、マウスでダブルクリックするか、いったん選択して、右ボタンから表示されるポップアップ メニューの[プロパティ]を実行する。
  このメニュー項目を実行し、Messengerサービスのプロパティ ダイアログを表示させる。→

 するとMessengerサービスのプロパティ ダイアログが表示される。ここでは、当該サービスの手動による開始や停止、前述したスタートアップの種類などを変更できる。

Messengerサービスのプロパティ
サービスのプロパティ ダイアログでは、当該サービスの手動での開始や停止、スタートアップ時の種類などを変更できる。
  現在のサービスの状態。これが[開始]なら、現時点でそのサービスは実行中である。
  Messengerサービスを停止するには、このボタンをクリックする。するとの状態が[停止]に変化する。

 まずは[サービスの状態]を確認する。これが[開始]なら、そのサービスは現時点で実行中である。サービスを停止するには、下の[停止]ボタンをクリックする。するとサービスの実行は停止され、[サービスの状態]は[停止]に変化する。

 再起動せずに、このままシステムを使い続けるなら、以上でプリント通知メッセージは非表示になるが、[スタートアップの種類]は[自動]のままなので、システムを再起動すると再びメッセンジャー サービスが開始されてしまう。これを避けるには、[スタートアップの種類]を[手動]または[無効]に変更する。End of Article

[スタートアップの種類]を[手動]に変更する
システムの再起動時にもメッセンジャー サービスが開始されないようにするには、[スタートアップの種類]を[手動]または[無効]に変更する。
  [手動]または[無効]を選択すれば、システムの再起動時にもメッセンジャー サービスは自動的には開始されなくなる。
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間