Windows Live Messenger アプリというのがあります。英語ではアプリではなくActivityと読んでいます。マルチユーザーのLive Messenger上のアプリケーションですね。MSN Messenger時代からあり、ゲームやミュージックミックスなんかは友人と利用したことがある人も多いのではないでしょうか。現在のBetaを見たらこんだけありました。

実際にMessenger アプリを作った開発者以外は基本的に興味のない話しなんですが、MSDN Libraryには「Windows Live Messenger アプリの利用の促進」という文書がありまして、IEから2種類の方法でMessenger アプリを起動する方法が記述されています。ちなみに、Messenger アプリはWebベースのアプリケーションです。
URLから起動
ひとつめは、URLからの起動です。各Messenger アプリにはマイクロソフトからIDが割り振られています。http://messenger.msn.com/Resource/games.aspx?appID=[Application ID] という書式のURLへ移動すると、Live Messengerにサインインしている場合は、アプリを使用する相手を選択するウィンドウが表示されます。サインインしていない場合は、サインインしてからアクセスするようダイアログが表示されます。

Webページから直接呼出し
もうひとつが、Webページからスクリプトにより直接呼び出す方法です。Webページ上からである必要はないんですけどね。
JavaScriptの場合は、次のように呼び出すことができます。
var obj = new ActiveXObject("MSNMessenger.P4QuickLaunch");
obj.LaunchApp(AppID, emailID);
※MSDN Library はもう少し有用なサンプルコードになっています。
この方法は、Application IDだけでなく相手も呼び出し時に決定することができます(emailIDの部分)。相手を省略(空文字)するとURLからの起動と同様のウィンドウが表示されます。このふたつの引数は、両方を省略、片方を省略も可能で、それらの場合の動作についても文書に書いてあります。
Webページ内のスクリプトでなく、VBScriptファイルやWSHファイルをクライアントPCから起動するのでも問題なし。VBScriptだとこんな感じ。この記述にたどり着くまで手こずった(Setとか関数呼び出しの括弧とか)。
Dim obj
Set obj = CreateObject("MSNMessenger.P4QuickLaunch")
obj.LaunchApp "99995835", ""
VB.NETからのCreateObjectでもいけそうなんですが、Live Messengerが落ちてしまって うまくいかずあきらめました。渡す値がUnicodeになっているとか? わかりません。
こんなことを ここ数日調べていました。というわけで、以上は前ふりでした。今日は寝ます。