豊田 孝

 今回は,Windows 2000とWindows XPのデスクトップを取り上げます。前回同様,10行サンプル・プログラムと,サンプル・プログラムを使用するために必要な情報を表示する補助プログラムを用意しました。補助プログラムを実行すると,Windows 2000とWindows XPのデスクトップ情報が表示されます。この情報をもとに10行サンプル・プログラムを活用すれば,Windows 2000のデスクトップを理解できるだけではなく,2001年10月に出荷予定のWindows XPにおけるデスクトップの変更点も把握できます。

 ご承知のように,デスクトップはWindowsを起動すると最初に表示される画面です。Windowsユーザーなら,ほぼ毎日お目にかかる画面といってよいでしょう。さて,皆さんは毎日一度は目にするデスクトップに対して,どのようなイメージを持っているでしょうか?

図1●Windows XP(β2)のデスクトップ画面
 Windows XPでは,ユーザー・インタフェースが大幅に変更される,と言われています。デスクトップもユーザー・インタフェースを提供する画面の一つですから,当然変更されることが予想されます。さっそく,すでに公開されているWindows XP(β2)のデスクトップ画面を見てましょう(図1[拡大表示])。

 図1は,Windows XP(β2)をインストールした直後にキャプチャした画面です。この画面と,皆さんが現在使用しているWindows 2000のデスクトップ画面を見比べてみてください。多少華やかになった印象は受けますが,この画面から判断する限り,目を丸くするほどの変更は加えられていないといえるでしょう。しかし,この後の本文を読むと分かりますが,私たちの目には直接見えないところで,重要な変更が加えられているのです。

 前回説明したように,コントロールパネルの世界では,サンプル・プログラム内の数値を変更するだけで,各種のコントロール機能を自由に起動できました。実は,このアプローチはデスクトップの世界にもそのまま適応できるのです。上に紹介したWindows XPのデスクトップ画面では,右下端に「ごみ箱」が表示されています。「ごみ箱」を一度も使用したことがないという人はいないと思いますので,まずは,ほとんどの人が慣れ親しんでいるこの「ごみ箱」を自動起動するサンプル・プログラムを紹介しましょう。VBScriptソースコードは次のようになります。


'*****************************
'プログラム行数 = 9
'機能:ごみ箱を自動起動する
'カットアンドペースト後,
'No6Trash.vbsとして保存する
'*****************************

Dim myHelper,myDTHelper_1,myDTHelper_2,myDTHelper_3,myDTHelper_4,myDTHelper_5
  Set myHelper = CreateObject("Shell.Application.1")
  Set myDTHelper_1 = myHelper.NameSpace(0)

'myDTHelper_1.Items.Item(3).Verbs.Item(0).DoIt '第3や4回記事参照

'相談相手を呼び出し,相談内容を依頼する
  Set myDTHelper_2 = myDTHelper_1.Items 'デスクトップの内容。本文参照
  Set myDTHelper_3 = myDTHelper_2.Item(3) '「ごみ箱」選択。本文参照
  Set myDTHelper_4 = myDTHelper_3.Verbs 'メソッド管理。次回説明予定
  Set myDTHelper_5 = myDTHelper_4.Item(0) 'メソッド選択。次回説明予定
  myDTHelper_5.DoIt '選択したメソッド実行
  Set myHelper = Nothing
対応するJScriptソースコードは次の通りです。

/*
'************************************************
'プログラム行数 = 8
'機能:ごみ箱を自動起動する
'カットアンドペースト後,
'No6Trash.jsとして保存する
'
'注:コードの機能概要はVBScriptコード参照
'*************************************************
*/

var myHelper = new ActiveXObject("Shell.Application.1");
var myDThelper_1 = myHelper.NameSpace(0);

//myDThelper_1.Items().Item(3).Verbs().Item(0).DoIt();

//相談相手を呼び出し,相談内容を依頼する
var myDThelper_2 = myDThelper_1.Items();
var myDThelper_3 = myDThelper_2.Item(3);
var myDThelper_4 = myDThelper_3.Verbs();
var myDThelper_5 = myDThelper_4.Item(0);
myDThelper_5.DoIt();

myHelper = null;
図2●サンプル・プログラムの実行結果(Windows 2000)
図3●サンプル・プログラムの実行結果(Windows XP)
 ご覧のように,このソース・コードは前回紹介した,コントロールパネルに登録された機能を呼び出すソース・コードとほとんど同じです。初めてこのソース・コードを目にした人には複雑かもしれませんが,実際のところは,第1回と第2回で紹介した考え方を応用しているにすぎません。考え方を忘れてしまった人は,第1回と第2回,できれば第5回までを,復習してみるとよいでしょう。

 それでは,この10行サンプル・プログラムの実行結果を示しましょう。私のWindows 2000とWindows XP環境では,それぞれ図2[拡大表示],図3[拡大表示]のような画面が表示されました。

 Windows 2000では「ごみ箱」が表示されますが,Windows XPでは「マイ ドキュメント」が表示されます。この原因は「myDTHelper_2.Item(3)」の3という数値にあります。数値と機能の対応関係がOSバージョンやユーザー環境ごとに異なっているのです。そこで今回も前回同様,「listdesktopitems.exe」という補助プログラムを用意してみました(ダウンロードはこちら)。このプログラムを私のWindows 2000とWindows XP環境で実行すると,それぞれ図4[拡大表示],図5[拡大表示]のような結果を表示します。

 ご覧のように,このプログラムは,数値と対応するデスクトップ情報一覧を表示します。皆さんの環境ではどのようなデスクトップ情報が表示されることでしょう? この画面情報の使い方は簡単です。サンプル・プログラム内のmyDThelper_2.Item(3)の数値「3」を任意の数値に置き換えれば,指定した数値に対応する機能が実行されます。いろいろ試してみてください。

 ところで皆さんは,図4,図5の画面を見比べてどのような感想を持ったでしょうか? これら2つの画面は,実は,表面的には決して見ることのできない,XPでの重要な変更点を教えてくれています。ここでは多少時間を割いて,XPで加えられる変更の意味を説明することにします。以下の説明文では,“Internet Explorer”という単語に注目して読んでください。

図4●listdesktopitems.exeの実行結果(Windows 2000)
図5●listdesktopitems.exeの実行結果(Windows XP)
 私のWindows 2000プロフェッショナル環境での実行結果は,次のようなことを示しています。

・デスクトップ上には60個のオブジェクトがある
・60個のオブジェクトのうち,56個はショートカットである
・56個のショートカットのうち10個だけを画面に表示するようにしてある
・残りの4個のオブジェクトはMicrosoftが作成したフォルダである
・Windows 2000ではInternet Explorerはフォルダとなっている

次に,Windows XPインストール直後のシステム環境の実行画面を説明しておきます。

・デスクトップ上には8個のオブジェクトがある
・8個のオブジェクトのうち,4個はショートカットである
・残りの4個のオブジェクトはMicrosoftが作成したフォルダである
・Windows XPではInternet Explorerはファイルとなっている

 説明したいことはたくさんあるのですが,混乱を避けるために,今回は次の変更点に焦点を絞ることにします。

“Internet ExplorerはWindows 2000デスクトップではフォルダとして扱われているが,Windows XPデスクトップではファイルとして扱われるように変更された”

Internet Explorerに加えられる変更は秘密?

図6●Windows 2000では,IEをフォルダとして管理する
 すでに触れたように,Windows 2000とWindows XPのデスクトップではInternet Explorerの管理方法が異なっています。Windows 2000デスクトップはInternet Explorerをフォルダとして管理し,Windows XPデスクトップはファイルとして管理しています。この“フォルダからファイルへ”の変化は内部で行われているため,私たちの目に見えることはありません。また,この内部変更により,私たちユーザーが直接影響を受けるようなこともありません。しかし,以降の説明を一読すると分かりますが,この変化は重要な意味を持っているのです。

 Windows 2000デスクトップは,Internet Explorerを図6[拡大表示]のように管理しています。この画面は,Internet Explorerがフォルダとして管理されていることを示しています。ところで皆さん,フォルダとはいったい何でしょう? 一般的には,フォルダは複数のファイルを整理する入れ物,と考えられています。ということは,先に紹介した図4の数値と機能一覧情報を参考にしながら,本日のサンプル・プログラム内のmyDTHelper_2.Item(3)の数値を「0」にすれば,Windows 2000環境では「マイ コンピュータ」フォルダが開かれるはずです(図7[拡大表示])。

図7●サンプル・プログラムを実行すると「マイ コンピュータ」フォルダが開かれる
 ご覧のように,「マイ コンピュータ」フォルダ内に含まれているファイル一覧が表示されています。これは,フォルダを開けばフォルダの中身一覧が表示される,という“常識的な論理”に沿っていることになります。

 それでは,myDTHelper_2.Item(3)の数値を「2」に変更してみましょう。これまでの常識からすれば,「Internet Explorer」フォルダが開かれ,そのフォルダ内に格納されているファイル一覧が表示されてくるはずですね。実行結果は図8[拡大表示]の通りです。

 どうでしょう? 予想に反して,Internet Explorerフォルダは開かれませんでした。その代わり,私が事前に登録しておいたWebサイトがいきなり開かれてました。

図8●Internet Explorerフォルダを開くと,Webサイトが表示される
 つまり,Windows 2000環境では,Internet Explorerフォルダを開くと,一挙にインターネットに接続されてしまうのです。この結果は,どう考えても,論理的に飛躍しています。すでに確認したように,フォルダは,複数のファイルを入れておく入れ物のはずです。例えば,「C:\WINNT\SYSTEM32」フォルダを開けば,そこにはシステムを構成する多数のファイルが格納されています。私はこのフォルダをよく開きますが,即座になんらかのプログラムが実行されてしまうような経験は,これまで一度もしていません。先に結論を言うと,Windows 2000デスクトップとInternet Explorerの関係は,“常識的でない,分かりにくい論理である”,といってよいと思います。

 ところが,Windows 2000の後継OSといわれるWindows XPデスクトップでは,Internet Explorerをフォルダではなく,図9[拡大表示]のようにファイルとして管理しています。

図9●Windows XPでは,Internet Explorerをファイルとして管理する
 右側の画面にInternet Explorerアイコンが表示されていますね。確認できるでしょうか? 少なくとも表面上は独立したフォルダではなくなっています(実際はより複雑ですが,ここではその説明を割愛します)。Windows XPからインターネットへの接続は,特殊なフォルダを開くのではなく,「目的のInternet Explorerファイルを開く」という行為になっています。これは,第3回連載で取り上げた音楽演奏プログラムの論理と同じです。第3回連載では,コンピュータで音楽を演奏するという行為は,「目的の音楽ファイルを開く」ことである,と説明しましたね。このため,Windows 2000デスクトップの世界と比較すると,Windows XPデスクトップの世界は,“常識に沿った,より分かりやすい論理に支えられている”,といってよいと思います。

 本日はデスクトップの世界を取り上げました。私たちがほぼ毎日使用している「ごみ箱」を自動起動するサンプル・プログラムを紹介しました。紹介したサンプル・プログラム内の数値を変更すれば,デスクトップ上の機能を自由に自動起動することができます。また,Windows 2000とWindows XPでは,私たちの目には直接見えないところで,デスクトップとInternet Explorerの関係が変更されていることも確認しました。

 次回は、これまで説明を先延ばしにしてきたメソッド情報の取得方法を取り上げます。私のデスクトップには60個のファイルやショートカットが乱雑に置かれています。次回紹介するメソッドを利用すると,これらのファイルを整理したり,不要なファイルをデスクトップから削除することができます。次回またお会いいたしましょう。ごきげんよう。