Windows Live Messengerの不可思議な挙動

投稿: 2009年7月25日

最近、Windows Live Messengerでかなり不可思議な現象に遭遇した。さんざん悩んだものの一応解決したようなので、メモ代わりにここに書いておくことにする。 (はっきりいって全然「技術メモ」なんていうレベルの話じゃないけど、一応そのカテゴリーも足しておくことにする。)

その現象は、会話のウィンドウで何かを入力している時、行末に半角空白を入れようとすると発生した。それで、何かを入力している時、多くの場合カーソルは行末にあるわけで、この現象に遭遇する可能性はかなり高かった。具体的には......

たとえば、「1 2 3 4 5」と、数字の間に半角スペースを入れて入力しようとする。まず、最初の「1」は問題なく入る。問題はこの後のスペースで、スペースバーを押したとたんに何も入らないだけでなく、カーソルが行頭に戻ってしまう。それに気づかずに続きの「2 3 4 5」を入力してEnterキーを押すと、送信される文字列は「2 3 4 51」となってしまう。 (「2」以降の半角スペースは行末に入力されるわけではないから問題ない。)

さらに、たとえば「1 2 3 4 5」という文字列がすでに入力されている場合に、行末にカーソルを持っていってBSキーを押すと、普通は「5」だけが消えるはずなのに、なぜかその前の半角スペースも削除され、そしてカーソルが行頭に移動してしまう。

こんな様子だから、たとえばUnixの管理用のコマンドなんかの話をしようものなら、パラメーターの順番はめちゃくちゃになるし、入るべきスペースは入らないし、とにかくまさに「話にならない」という状況になってしまう。

キーに問題があるのかともちょっとだけ思ったが、どこか別の所で入力した半角スペースをクリップボードにコピーして、これをLive Messengerの行末で貼り付けてみても、スペースバーを押したのと同じ結果になってしまった。したがって、問題はキーボードではなく、入力を受け付けて処理する部分にあることが分かった。

ちょっと検索して調べてみたりもしたのだが、どうもこの現象で悩んでいる人の話を見つけることはできなかった。それで、仕方がないので闇雲にいろいろとLive Messengerの設定を変えてみたり、Live Messengerの修復インストールや再インストールを試してみたりした。設定変更については、自分がデフォルトから何を変えたのかを覚えていればそんなに苦労することもなかったのだろうけど、全くと言っていいほど覚えていなかったので闇雲に試してみるしかなかった。

その結果分かったことは、メニューバーの「ツール」 → 「オプション」とたどって出てくるダイアログの、「メッセージ」のセクションにある「絵文字を標示する」という項目にチェックが入っていない場合に、この現象が発生することが分かった。理由は全く分からない。

なお、この現象はWindows XP Professional SP3上の、バージョン情報として「Version 2009 (Build 14.0.8064.206)」と標示されるWindows Live Messengerで発生したものである。