豊田 孝

 本日は,Windows XPから標準で搭載されるWindows Messengerを紹介します。今回は以下のトピックを取り上げます。

・Windows Messengerとは何か?
・最新バージョンの入手方法
・Windows Messengerが提供する機能
・Windows Messengerを利用するために必要な基礎知識
・ちょっと高度な視点から見るWindows Messenger

 それではさっそく,最初のトピックから解説することにしましょう。

Windows Messengerとは何か?

 まず,Windows Messengerとは何かを簡単に整理しておきましょう。Windows Messengerは,インターネット上で個人と個人が通信できるクライアント・アプリケーションといえます。私たちはWindows Messengerを使用することにより,友人,知人,社内の同僚などと,文字によるチャットや音声チャット,ビデオ・チャットを楽しむことができます。しかし,それだけではありません。ここでは参考のために,後で紹介する「開発者向け」情報に記述されているWindows Messengerの定義を紹介しておきます。

“Windows MessengerはMicrosoft.NET Messenger Serviceに接続するクライアント・プログラムである。このクライアント・プログラムはWindows XPに組み込まれて出荷される”

 この定義文から分かるように,Windows Messengerは“Microsoft.NET Messenger Service”と総称される各種サービスを,インターネット経由で利用するためのクライアント・プログラムと考えてよいでしょう。このため,Windows Messengerが提供する機能を利用するためには,インターネットへの接続したのち,サービスを利用するための“Passport”と呼ばれるユーザー認証(ユーザー名とパスワードによる認証)を受ける必要があります。Passportへのサインアップ手順やWindows Messengerの具体的な操作手順については後述することにします。

 ちなみに,Microsoft.NET Messenger Serviceは,Windows Messengerクライアント・プログラムが使用できるサービスの一つにすぎません(専門的には,デフォルトのプライマリ・サービス,と呼ばれる)。「開発者向け」情報には,その他の利用できるサービスとして,Microsoft Exchange Instant Messager Service(企業内サービス)やInstant Message Interoperability Protocol (IMIP) service(Yahoo!との相互運用サービス)などのサービス名が紹介されています。

 それでは次に,現在利用できるWindow Messengerの最新バージョンを確認しておきましょう。これも後で触れることですが,Windows Messengerが提供する機能はバージョンにより大きく異なっています。インターネットへの接続を考慮した場合,システム管理者はバージョン間の相違を把握しておく必要があると思います。

最新バージョンの入手方法

 Windows XPに標準搭載されるWindows Messengerはバージョン4.0ですが,すでにMSNのサイトから最新バージョンである4.5がダウンロード可能となっています。バージョン間の相違も紹介されていますから,ぜひ同サイトをご覧になってください。バージョン間の相違を効率的に把握する方法については,後述します。

 それでは次に,Windows Messengerがどのような機能を提供しているのかをざっとみておきましょう。

Windows Messengerが提供する機能

 Windows Messengerは次のような多数の機能を提供しています。

・インスタント・メッセージの送受信機能
・マイクとスピーカを使った音声通信
・パソコン用カメラを使ったビデオ通信
・画像ファイルをはじめとする各種ファイルの送受信機能
・リモート・アシスタント機能
・アプリケーションの共有機能
・ホワイト・ボードを使ったコラボレーション機能
・絵文字の送受信機能
・通信相手メンバの管理機能

 そのほかには,個人情報の管理機能なども提供されています。各機能のより具体的な説明は,こちらを参照されてください。

 Windows Messengerを初めて使用する場合には,こちらから公開されている情報を参考にされるとよいでしょう。Passportへのサインアップ手順などをはじめとする基本的な操作手順がステップ・バイ・ステップで詳細に記述されています。

 これ以降の記事はPassportへのサインアップ作業を完了しているという前提で話を進めたいと思いますので,サインアップ作業を済ませておいてください。所要時間は1,2分といったところです。

 サインアップ作業が完了すると,Windows Messegerを利用できるようになります。より正確に表現すれば,インターネット経由でMessengerサービスを提供するサーバー(2つのクライアントを結びつけるランデブ・サーバーなどと呼ばれます)にアクセスできる,ということになります。つまり,皆さんのWindows Messengerが正式なクライアント・プログラムになるわけです。先のサイトから公開されている説明に従って,いろいろな機能を試してみるとよいでしょう。

 一度経験してみると実感できますが,サインアップ作業や一部サービスを利用する操作は比較的簡単です。しかし,Windows Messengerがインターネット経由で各種サービスを利用するクライアント・プログラムであることを考えると,私たちがこれまでに経験したことのないような問題も発生しているようです。そこで,Windows Messengerを利用する上での問題点とそれを解決するために必要とされる基礎知識について整理しておくことにします。

Windows Messengerを利用するために必要な基礎知識

 Microsoftのサイトでは,2001年11月16日時点で知られている各種問題を公表しています。

 公表されている情報を一読してみると,Windows Messenger機能が正常に使えない場合,その原因は,インターネット接続環境の設定にある可能性が高いことが示されています。そして,対応策を講じる場合には,次のようなネットワークに関する基礎知識が必要であることが読み取れます。なお,論理ポート番号,プロセス,そしてWindows XPに付属する簡易ファイアウオールの関係は次回取り上げる予定ですので,本日は基礎知識を整理するだけにとどめます。

・ファイアウオールの設定知識
・ルーターの設定知識
・論理ポート番号の意味
・NAT(ネットワーク・アドレス変換)の意味

 Windows Messengerのファイル転送機能,ホワイトボード機能,アプリケーション共有機能,及びリモート・アシスタンス機能を使用する場合には,特定の論理ポートが開かれていることが前提とされていますから,ファイアウオールの設定には注意しましょう。開かれているべき論理ポート番号とサービスの対応関係については,上記サイトで公開している最新情報を確認するようにしてください。簡単に言ってしまえば,利用するサービスに応じてSIP(Session Initiation Protocol)をはじめとする各種の異なるプロトコル(データを送受信するための約束事)が使用されているという事情があります。SIPについて興味ある方は,こちらを参照されるとよいでしょう。

 以上でWindows Messengerの基本的な操作手順と使用上の注意事項の解説は終了です。しかし,今まで紹介したのは,Windows Messengerのほんの一部の機能にすぎません。Windows Messengerに興味を持たれた方は,次のように感じていらっしゃるのではないかと思います。

 “Windows Messengerの機能概要やバージョン間の相違を一目で効率的に把握できる方法はないだろうか?”

 実はそのような便利な情報があります。それでは紹介しましょう。

図1●Windows MessengerのWebサイト
図2●「messengerua.chm」ファイル起動の起動画面
図3●「+」記号をクリックする
図4●「ツール/オーディオ及びビデオチューニングウィザード」ダイアログ

ちょっと高度な視点から見るWindows Messenger

 MicrosoftのWindows MessengerのWebサイトを開くと,図1[拡大表示]のような画面が表示されます。

 画面左下に「開発者向け」という項目があります。この項目をクリックすると,「messengerua.chm」というファイル名の「開発者向け」のコンパイル済みファイルがダウンロードできます。皆さんの中には,「開発者向け」というタイトルを見ただけで気持ちが重くなってしまう方がいらっしゃるかもしれませんが,ここは一つ勇気を出してダウンロードしてみましょう。この後はっきり分かりますが,プログラミング経験や知識がなくとも,「開発者向け」情報を有効活用できるのです。それでは,「開発者向け」情報の活用方法を説明しましょう。

 まずダウンロードした「messengerua.chm」ファイルをダブルクリックます。すると,ブラウザが自動的に起動し,図2[拡大表示]のような画面が表示されるはずです。

 このファイルは,Windows Messangerが現在持っているすべての機能を解説したものです。ご覧のように,情報がツリー状に階層化されていますから,必要個所をマウスでクリックするだけで必要情報にアクセスできます。説明文がすべて英語というのはかなりつらいところがありますから,ぜひ日本語化してほしいものです。

 それではここで,「Messenger API Reference」の左にある「+」記号と「Interfaces」の左側の「+」記号を連続してクリックしてみましょう。すると,図3[拡大表示]のような情報が表示されてきます。

 この画面を眺めてみると,“IMessenger”や“IMessenger2”といった文字列が見えると思います。IMessengerのIは,Interface(インタフェース)を示しています。ここでは,インタフェースを“Windows Messenger機能を利用してプログラムを開発するプログラマのために用意された機能である”と考えておいてください。インタフェースと言う名前が示すように,Windows Messengerのグラフィカル・ユーザー・インタフェース(GUI)とIMessengerなどのプログラム開発者用インタフェースの間には密接な関係があるのです。それでは,この関係がどのようなものであるのかを具体的に確認してみましょう。以降の説明内容は,プログラミング経験や知識がなくとも,理解できます。

 Windows Messenger起動後,「ツール/オーディオ及びビデオチューニングウィザード」を選択すると,図4[拡大表示]のような画面が開かれます。

 この画面はGUIをマウスで操作することにより表示させていますが,次のようなプログラムを用意すれば,この画面を自動的に開くことができます。紹介するサンプル・プログラムのソース・コードを理解する必要はありません。なお,最新Windows MessengerとWindows Media Playerなどのプログラミング方法については,別の機会に紹介することにします。


''*********************************************************
'' 日経BP ITPro連載「Windows XPの新機能を体験しよう」
'' 第8回補助プログラム
'' 作成者:豊田孝
'' ファイル名:TryMessenger1.vbs
'' 使用言語:VBScript
'' プログラム行数行:7
'' 機能:「チューニングウィザード」の自動起動
'' 作成日:2001年11月26日
''使用上の注意:Windows Messengerを事前に起動しておくこと
''*********************************************************

Sub TryMessenger()
Dim oHelper
 Set oHelper = CreateObject("Messenger.UIAutomation.1")
 oHelper.MediaWizard 0
 Set oHelper = Nothing
End Sub

Call TryMessenger()

図5●IMessengerの左にある「+」ボタンをクリックする
図6●「メンバの追加」ダイアログボックス
図7●IMessenger2の左にある「+」ボタンをクリックする
 上記のプログラムをテキスト・エディタなどにコピー・アンド・ペーストし,TryMessenger1.vbsというファイル名で保存してください(こちらからダウンロードもできます)。保存したTryMessenger1.vbsファイルをダブルクリックすると,プログラムが実行されます。このプログラムでは,次のソース行が重要な意味を持っています。

oHelper.MediaWizard 0

 MediaWizardという文字列が見えますね。これは専門的にはメソッドと呼ばれ,先に紹介したウィザード画面を表示する機能を提供しています。つまり,「ツール/オーディオ及びビデオチューニングウィザード」というマウス操作は,最終的にはこのMediaWizardメソッドを呼び出していると考えてよいわけです。ここから,次のような推論が可能となります。

“プログラミングの知識や経験がなくとも,MediaWizardなどのメソッド名称を見れば,Windows Messengerの機能概要を効率的に把握できる”

 それでは,画面上のIMessengerの左側にある「+」ボタンをクリックしてください。すると,図5[拡大表示]のような画面が表示されるはずです。

 左側画面に表示されているのは,メソッド・リスト一覧情報です。一番上にはAddContactという名称のメソッドがあります。このメソッドは,名称から想像できるように,図6[拡大表示]のような「メンバの追加」ダイアログボックスを表示する機能を提供しているのです。

 その他のメソッド名称をじっくり眺めてみると,Windows MessengerはPhone(電話),StartVoice(音声),SendFile(ファイル送信),Signin(サインイン),Signout(サインアウト)などの各種機能を提供していることが分かります。いかがでしょうか。ところで皆さん,ビデオ・チャットを可能とするメソッドの名称を見つけることができますか? 実は,この画面には見当たりません。それでは,IMessenger2の左側にある「+」ボタンをクリックしてみましょう。図7[拡大表示]のような画面が表示されるはずです。

 この画面には,StartVideoという名称のメソッドが見えます。このメソッドが提供する機能がどのようなものであるかは説明が不要と思います。さらに,一番上には,CreateGroupという名称のメソッドも用意されています。ここで右側画面の「Minimum Availability」という項目を見てみましょう。Messenger 4.5という情報が入っていますね。これらの情報から,StartVideoやCreateGroupなどのメソッドを使用するためには,Windows Messengerバージョン4.5が必要であることがわかります。いかがでしょう。思ったより難しいことではないでしょう?

 「開発者向け」情報と聞くだけで敬遠してしまう人がいますが,情報には自分に適した利用方法があるのです。本日はメソッド名から,Windows Messengerの機能概要だけではなく,バージョン4.0とバージョン4.5の違いまでも把握できることを紹介しました。それではここで簡単な演習を行ってみましょう。次に紹介するプログラムを実行すると,どのような画面が表示されるのか想像できますか?


''****************************************************
'' 日経BP ITPro連載「Windows XPの新機能を体験しよう」
'' 第8回補助プログラム
'' 作成者:豊田孝
'' ファイル名:TryMessenger2.vbs
'' 使用言語:VBScript
'' プログラム行数行:7
'' 機能:「オプション」設定画面の自動起動
'' 作成日:2001年11月26日
''使用上の注意:Windows Messengerを事前に起動しておくこと
''****************************************************

Sub TryMessenger()
Dim oHelper
 Set oHelper = CreateObject("Messenger.UIAutomation.1")
 oHelper.OptionsPages 0,0
 Set oHelper = Nothing
End Sub

Call TryMessenger()

図8●「ツール/オプション」ダイアログボックス
 このプログラムは先に紹介したプログラムとほとんど同じです(こちらからダウンロードもできます)。違いといえば,次の一行だけです。

oHelper.OptionsPages 0,0

 使用されているメソッドはOptionsPagesですね。さて,OptionsPagesは名称からどのような画面を表示する機能を持っているのか分かりますか?答えは,「ツール/オプション」を選択すると表示される図8[拡大表示]の画面なのです。

 「oHelper.OptionsPages 0,0」の第2の数値「0」には,0から7までの数値を指定できます。つまり,「oHelper.OptionsPages 0,1」や「oHelper.OptionsPages 0,2」などに変更できます。いろいろ数値を変更し,試してみてください。バージョン4.0とバージョン4.5では一部の動作が異なります。このため,この数値変更操作を通して,バージョン間の相違を瞬時に把握することも可能です。できれば,バージョン4.5で試されることをお勧めします。いずれのバージョンでも現在これといった問題は発生しておりませんが,実行は自己責任でお願いいたします。

 今回は,拡張子VBSを持つもう一つの補助プログラム「TryMessenger3.vbs」も用意してみました(こちらからダウンロードできます)。このプログラムはそのままでは動作しません。メソッド名に注意しながら,必要な情報を入力し,実行してみてください。この補助プログラムもたったの7行で構成される小さなプログラムですから,プログラミング経験や知識のない方でも簡単に理解できるはずです。なお,Windows 2000/XPのプログラミングに興味のある方は,こちらを一読されるとよいでしょう。

 本日はWindows Messengerの基本的な操作方法から,「開発者向け」情報の利用方法まで紹介いたしました。この情報を一読すると,Messenger Serviceが以前はHotmail Serviceと呼ばれていたことや,HotmailからPassportへの移行背景なども把握できます。本内容を参考にしながら,ぜひほかの情報にも目を通してみてください。

 本文で触れたように,Windows Messengerを使用するには,論理ポート番号とその所有者であるプロセスの基本的な関係を理解しておく必要があります。この知識は,ネットワーク管理作業やファイアウオール設定作業時にもそのまま有効なはずです。次回紹介する補助プログラムを使えば,論理ポート番号とプロセス(サービスも含む)の基本的な関係を理解することができます。それでは次回またお会いいたしましょう。ごきげんよう。