豊田 孝

 この連載は,Windowsを“最新技術をいち早く取り入れるソフトウエアのひとつ”ととらえ,次のような視点からWindowsの世界を探検します。

  • Windowsを搭載したシステムは多数のハードウエア部品で構成されている
  • Windowsを搭載したシステムは多数のソフトウエア部品で構成されている

 Windowsを搭載したシステム(Windowsシステム)を構成する個々のハードウエア部品とソフトウエア部品を理解すれば,Windowsシステムをより効率的に,しかもより楽しく活用できるようになります。理解に役立つ単純なサンプル・プログラムも用意しています。ソース・コードも掲載しますから,プログラミングに興味のある方はプログラミングの学習にもなるでしょう。プログラミングに興味のない方でも,まずはサンプル・プログラムを動かして,Windowsの世界を探検してみましょう。

図1●Windowsシステムの製造元情報

Windowsシステムの製造元は?

 今回は,皆さんが使用しているWindowsシステムの製造元を確認してみましょう。製造元情報は,スタート・ボタンをクリックし,「すべてのプログラム」>「アクセサリ」>「システムツール」>「システム情報」で表示できます。筆者の製造元情報は図1[拡大表示]のように表示されます。

 赤い四角で囲まれた情報がシステムの製造元です。この画面には,“MICRO-STAR” という会社名が表示されています。さて,皆さんのWindowsシステム環境ではどのような会社名が表示されるでしょうか?

図2●MICRO-STAR社は,サポート情報をインターネットで一般公開している
 製造元名を知って何か得をすることでもあるの?,という人もいるかもしれません。しかし,私たちが購入したシステムを一番よく知っているのは,それを製造した会社です。例えばMICRO-STAR社の場合,図2[拡大表示]のようなサポート情報をインターネットで一般公開しています。

 購入したシステムに関する専門情報だけではなく,IT一般に関する情報も公開されています。MICRO-STAR社のように,システム診断ツールなども公開している製造元もあります。IT業界にいる限り,いろいろな情報に積極的に接し,批判的に評価・吸収していくことが大切かと思います。

 ここで,皆さんに,次のような質問をいたします。

“「システム製造元」の「システム」というのは具体的にはどういう意味だと思いますか?”

 結論を先に言ってしまえば,システム製造元の「システム」は,マザーボードを指します。マザーボードは,マザー(母)という言葉から想像できるように,コンピュータ・システムの基本となるCPU,メモリー,コンデンサやトランジスタなどの電気部品,各種の集積回路(IC)がハンダ付けされているボード(板)です。なおマザーボードは,システム・ボードやベース・ボードと呼ばれることもあります。

本日のサンプル・プログラム

図3●サンプル・プログラムの実行画面。Windowsシステムの情報を表示する
 それでは今回のサンプル・プログラムを活用してみましょう。今回のサンプル・プログラムは,Windowsシステムの情報を表示するという機能を持っています。詳細な機能説明は後で行いますから,まずは実行してみましょう。サンプル・プログラムをこちらからダウンロードし,ファイルをダブルクリックしてみてください。私のシステムでは,図3のような情報が表示されます。

 返される情報は使用しているシステムによってまったく異なります。システムによっては,「*** 情報あるかな? ***」以下の情報をまったく返しません。皆さんのシステムはいったいどのような情報を返してくるでしょう?ぜひ試してみてください。

 先ほど説明したように,システムの製造元の情報はGUI操作を通して表示させることもできます。このため“わざわざプログラムを作る必要はないのでは?”という疑問を持つ方もいるかもしれません。それは自然な疑問ですが,GUI操作で得られる情報はあくまでも“必要最小の情報”であることを忘れてはなりません。詳細な情報を表示させ,その意味をインターネットの検索機能などで調べれば,Windowsシステムに関するより一層の知識を得ることができます。例えばこの画面には「SMBIOS」という文字列が表示されています。この文字列をインターネットで検索してみると,図4[拡大表示]のような情報を提供するWebページ(http://www.aopen.co.jp/tech/techinside/WinDMI.htm)を含む検索結果が返されます。

図4●「SMBIOS」に関する情報を提供するWebページ
 このWebページを一読してみると,SMBIOSというのは,System Management BIOSの略語であり,マザーボード・ベンダーやシステム・ベンダーが製品管理情報をユーザに提供するための業界標準仕様であることがわかります。簡単に言ってしまえば,システムを管理するための標準的な方法が用意されている,ということです。なお,SMBIOSについては,今後の連載で取り上げる予定です。

サンプル・プログラムの解説

 次に,サンプル・プログラムのソースコードを簡単に説明しておきます。リスト1は,サンプル・プログラムのソースコードです。このサンプル・プログラムは,VBScriptというスクリプト言語で記述しています。この言語は,Windows 98,Windows 2000,Windows XP,Windows Server 2003などでは無料で利用できます。また,VBScriotで記述したプログラムは,Visual C++,Visual Basic,Visual Basic.NET, Visual C# .NETなどの他の言語に簡単に移植できます。本連載では,VBScript言語に加えて,Visual C# .NETも使用する予定です。サンプル・プログラム実行すると画面に表示される情報は,次の4つのコードの実行結果です。

helperItem.Manufacturer
helperItem.Version
helperItem.Product
helperItem.ConfigOptions

 これらのコードは,ちょっと難しい表現になるかもしれませんが,「オブジェクトのプロパティ」を取得するために記述されています。オブジェクトというのは, ここでは, メモリー内に描かれたマザーボードのイメージと考えておいてください。マザーボードは製品名をはじめとするいろいろな属性を持っています。ピリオドの右側に記述されているコードが属性を示しています。属性のことを専門的には, プロパティといいます。

 ここでは4種類のプロパティ(の値)を取り出しています。上から,マザーボードの製造元名(Manufacturer),バージョン(Version),製品名(Product),構成オプション(ConfigOptions)です。最後の構成オプションというのは,Microsoftのドキュメントでは,次のような情報を記憶しているとされています。

Example: "JP2: 1-2 Cache Size is 256K,2-3 Cache Size is 512K,SW1-1: Close to Disable On Board Video"

この情報から判断すると, マザーボードの初期設定値のようです。ちなみに,JPはJumper(ジャンパ)を、SWはSwitch(スイッチ)をそれぞれ示しています。

筆者は,構成オプションとしてどのような情報が返されてくるのか楽しみにしていたのですが,プログラム実行後に返されてきた結果は,図3のようなきわめて素朴な情報でした。実は,以降の連載でよりはっきりしていきますが,Windows搭載システムを構成する個々のハードウエア部品が返してくる情報は,システムの製造元ごとに異なっているのが現状です。

 ここに紹介したプロパティ以外に, Name, Caption, SerialNumberという名称のプロパティもあります。ソースコードを参考にしながら,お時間のあるときにぜひコードを追加し, 表示させてみてください。

 今回は第1回ということで,マザーボードの製造元名を確認しました。マザーボード情報は他のいろいろな方法で収集・表示させることができます。本連載を継続してお読みいただければ,ビデオ・カード, キーボード, ネットワーク・カード,CPU,システム・バス,メモリー,チップセットをはじめとするハードウエア部品から,プロセス,スレッド,レジストリ,イベント・ログ,ファイル・システムなどのソフトウエア部品まで簡単に調べられるようになります。

 Windowsは各種の最新技術を積極的にサポートするとともに,XML,SOAP,Webサービスなどの最新標準仕様をいち早く実装してきます。そのような最新技術がどのようにサポート・実装されるのかを,楽しみながら観察しましょう。プログラミングに慣れていない方は,サンプル・プログラムを実行するだけでもよいでしょう。必要に応じてプログラミングする上での入門情報も提供する予定ですから,慣れてきたら,一語でも一行でも自分の手で変更してみてください。

本日は以上で終了です。次回またお会いいたしましょう。ごきげんよう!