筆者は,ときどきIT企業の新人研修で講師をしています。講義は,朝9:00から夕方17:00までの長丁場です。教材に沿って堅苦しく説明を続けていくだけでは,いかにやる気満々の新人さんであっても,だんだん眠くなってしまいます。そこで筆者は,新人さんが眠くなりそうなタイミングで,パソコン1台でできる簡単な実験をやってみせるようにしています。なかなか好評です。

 今回紹介するWindowsのレジストリの中を見ることも,そんな実験の一つです。皆さんの会社の新人研修でも,ぜひやってみてください。なお,レジストリの情報を間違って書き換えたり削除すると,PCの動作に問題が発生する恐れがあるので,くれぐれも見るだけにしてくださいね。

Webブラウザの履歴を消したい!

 新人さんに興味を持っていただくために,以下のようなストーリーはいかがでしょう。

 会社の同僚と懇親会をすることになったとします。幹事を任命されたあなたは,ガイドブックに掲載されているURLをあれこれ打ち込んで,何件かの居酒屋さんのWebページを見ました。あなたが打ち込んだURLは,Webブラウザの履歴に残ってしまいます。

 Webブラウザ(Internet Explorer)の「アドレス」欄の右端にある[▼]ボタンをクリックすると,これまでに打ち込んだWebページのURLがずらりとリスト表示されます。これが履歴です。このまま履歴を消さないでおくと,もしも懇親会のことを知らない上司があなたのパソコンでWebブラウザを使ったときに「仕事をサボって,居酒屋のWebページばかり見ていたのか!」と叱られてしまうでしょう(図1)。

図1●この履歴は,どこに記憶されているのか?
図1●この履歴は,どこに記憶されているのか?
[画像のクリックで拡大表示]

 Webブラウザの履歴を消す方法(とっても簡単です)は後で説明しますので,ここでは「いったい履歴の情報は,どこに記憶されているのか?」という疑問を持ってください。

 もしお使いのWebブラウザがInternet Explorer 6.0なら,答えは「レジストリ」です。Windowsには,様々なプログラムによって記憶された情報を一括して保存しているレジストリというデータ・ファイルがあるのです。実際に,レジストリの中を見てみましょう。

レジストリを見るツール「レジストリエディタ」

 Windowsには,レジストリの中を見る「レジストリエディタ(regedit.exe)」というツールが標準装備されています。レジストリエディタは,[スタート]メニューに登録されていません。なぜなら,くどいようですが,レジストリの操作には危険が伴うので,うかつに使ってほしくないツールだからです。

 危険のない範囲で,レジストリエディタを使ってみましょう。Windowsの[スタート]メニューから「ファイル名を指定して実行」を選び,表示されるウィンドウに「regedit.exe」と入力して[OK]ボタンをクリックすれば,レジストリエディタが起動します(図2)。

図2●レジストリエディタを起動する
図2●レジストリエディタを起動する

 レジストリエディタは,レジストリの内容を階層構造で表示してくれます。レジストリディタのウィンドウの左側にHKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIGという五つのフォルダが表示されています。これは,ハードディスク内のフォルダ構成を示しているのではありません。レジストリに登録されている様々な情報を,五つのジャンルに分類しているのです(図3)。

図3●レジストリエディタのウィンドウ
図3●レジストリエディタのウィンドウ
[画像のクリックで拡大表示]

 どれかフォルダを開いてみましょう。ビックリするほど膨大な数の情報が登録されていることがわかります。フォルダをたどって目的の情報を見つけるのは,簡単なことではありません。

 良い方法があります。「編集」メニューの「検索」を使うのです。実験として,Webブラウザの「アドレス」欄のリストにあるURLを一つ選んで検索してみましょう。ここでは,ITproのURLである「http://itpro.nikkeibp.co.jp」を検索してみます(図4)。もちろん,ITproを見た履歴があっても上司に怒られることはないでしょう。

図4●レジストリからITproのURLを検索する
図4●レジストリからITproのURLを検索する

 「http://itpro.nikkeibp.co.jp」が見つかりました。「マイ コンピュータ\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs」というフォルダにあります。フォルダの場所は,レジストリエディタのウィンドウの下段に示されます。

 レジストリエディタのウィンドウの右側には,フォルダの内容,すなわち登録されている情報が表示されます。情報は,「名前」「種類」「データ」という形式になっています。これらは,データに付けられた名前,データの種類(数値,文字列など),データの値を意味しています。url1,url2,url3…という名前で,URLの履歴が登録されているのがわかるでしょう。REG_SZという種類は,文字列データであることを意味しています(図5)。

図5●レジストリに登録されているURLの履歴
図5●レジストリに登録されているURLの履歴
[画像のクリックで拡大表示]

 レジストリエディタを使えば,URLの履歴を削除できますが,ここではやらないでおきます。何度もしつこいようですが,レジストリを編集することは危険が伴うからです。

履歴は,Webブラウザから消せます

 レジストリエディタを使って直接レジストリを編集する必要は,めったにありません。プログラムをインストールすることで,そのプログラムが必要とする情報がレジストリに自動的に登録されます。プログラムを使うことで,情報が自動的に更新されます。プログラムをアンインストールすることで,情報が自動的に削除されます(削除されない場合もあります)。また,プログラムの設定ウィンドウを使って,間接的にレジストリの内容を更新することができます。

 Webブラウザの履歴を消すには,「ツール」メニューから「インターネットオプション」を選択し,表示されるウィンドウの「全般」タブページの右下にある[履歴のクリア]ボタンをクリックすればよいのです。たったこれだけの操作で,Webブラウザの「アドレス」欄にリスト表示されるすべてのURLが消去されます。履歴を消しても問題ない人は,実際にやってみましょう(図6)。

図6●[履歴のクリア]ボタンをクリックすれば,すべての履歴が消去される
図6●[履歴のクリア]ボタンをクリックすれば,すべての履歴が消去される

 [履歴のクリア]ボタンをクリックした人は,レジストリから情報が削除されていることを確認してみましょう。レジストリエディタを見ると,先ほど検索されたURLが表示されたままです。これは,情報を消去する前の状態で検索を行ったからです。レジストリエディタの「表示」メニューから「最新の情報に更新」を選べば,情報を消去した後の状態がわかります。「TypedURLs」というフォルダごと,きれいさっぱりなくなっているはずです。

個人情報もレジストリに登録されているのだろうか?

 C言語やVisual Basicなどのプログラミング言語を使える人なら,レジストリの内容を読み書きするプログラムを作ることができます。そうなると,ちょっと心配になることがあります。もしも,レジストリに大事な個人情報が記憶されていたら,それをウイルスやスパイウエアに盗まれてしまう恐れがあることです。

 レジストリエディタで,いくつか個人情報を検索して見ましょう。例えば,自分のメールアドレス,氏名(漢字),携帯電話番号などがレジストリに登録されているかどうか調べてみましょう。筆者のパソコンのレジストリには,メールアドレスと氏名が登録されていました。携帯電話番号は,登録されていませんでした。メールアドレスと氏名が登録されているのは,それらを自動的に表示するプログラムがあるからです(心当たりがありますね)。

 メールアドレスと氏名が登録されたままでOKと判断するかどうかは,人によって様々だと思いますが,いずれにしてもレジストリの中にある情報は盗まれてしまう恐れがあるのです。ちょっと話題が別方向に発展してしまいますが,レジストリの存在を知ったことで,セキュリティ対策の重要性を再認識してただければ幸いです。

 今回の実験は,これで終わりです。次回もやってみよう!

矢沢 久雄(やざわ ひさお)
グレープシティ
アドバイザリースタッフ http://www.grapecity.com/