こんにちは、阿久津です。現在開発が行われているWindows 8の完成度が高まりますと、盛り上がるのが周辺のソフトウェアです。今年の後半にはMicrosoft Office 15(仮称)や、筆者は使っていませんがExchange Server 15(仮称)のベータ版がリリースされるという噂がささやかれているとか。それよりも個人的に興味深いのが、同社が募集を行っている「Skype for Browsers」という存在。

同社は2011年10月にSkype社を85億ドルで買収し、Microsoftが提供するインターネット電話サービスのひとつに並ぶようになりました。その後大きな変化は見られませんでしたが、最近の情報によりますと同社の人員募集サイトでは、Skype for Browsersの開発にあたりHTML5 UI(ユーザーインターフェイス)の開発経験を持つソフトウェア開発者およびテスト開発者を募集しています。

この情報から推測するに同社は、HTML5の開発環境を厚くして、Internet Explorere 9/10(仮称)上で動作Skypeの新バージョンを用意するつもりなのでしょう。単独のクライアントソフトからWebアプリケーション化という流れを見て思い出すのが、Windows Live メッセンジャーのWebブラウザー版。現在でもサポートされている機能ですが、あまり有効活用されているという話を聞きません。

その一方で、MicrosoftはP2P(ピア・ツー・ピア)技術に対し、能動的な活動を行ってきました。Windows XPの時代には、P2P型IMクライアント「Microsoft 3 Degrees」を発表し、2005年にはGroove Networksを買収して「Office Groove 2007」を提供するなど、各所にP2P技術が使われています。あまり盛り上がりませんでしたが、Windows VistaのサービスでもP2P技術を使用したプログラムが稼働していました。

P2P技術を用いたインターネット電話サービスであるSkypeを、プライベートやビジネスシーンで多用している方は少なくありません。筆者も遠方の仕事関係者とはSkypeで連絡を取っていますが、使用するのはスマートフォンのクライアントでPC用クライアントはインストールすらしていないのが現状です。思うにSkype for Browsersの存在は、今後OSに依存しないWebブラウザー環境で、インターネット電話サービスのイニシアチブを取るための戦略ではないでしょうか。より詳しい情報が入手できましたら本誌でご報告しますので、興味のある方はお待ちください。

さて、Windows 7が実装したタスクバー上のボタンをピン留めする機能は、Windows OSの操作概念を一変させています。それまで単なるタスクの状態を表示するだけの領域にランチャーの役割を持たせました。このピン留めされたタスクバー上のボタンは「%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar」フォルダーにショートカットファイルとして格納され、並び順などの情報はHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskbandキーで管理しています(図01~02)。

図01 %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBarフォルダーは、ショートカットファイルを格納しています

図02 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskbandキーは、ピン留めされたボタンの情報を管理しています

単純に考えれば、このフォルダーとキーの内容を保存すればバックアップやほかのコンピューターへの環境移行も簡単になるのではないでしょうか。そこで今回はバッチファイルによるタスクバーのピン留め情報をバックアップ/復元するチューニングをお届けします。

1.「notepad」を実行します。
2.メモ帳を起動し、リスト01の内容を入力したら、「Taskbar-Pinned-Items-Backup.bat」として保存します。
3.「notepad」を実行します。
4.メモ帳を起動し、リスト02の内容を入力したら、「Taskbar-Pinned-Items-Restore.bat」として保存します。

リスト01 Taskbar-Pinned-Items-Backup.bat

@echo off
:: Taskbar-Pinned-Items-Backup.bat
:: Yoshikazu Akutsu
:: http://news.mynavi.jp/column/windows/index.html
::
setlocal
set BackUpFolder=%USERPROFILE%\Taskbar-Pinned-Items\TaskBar
set BackUpFile=%USERPROFILE%\Taskbar-Pinned-Items-Backup.reg
set TargetFolder=%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
set TargetKey=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband

if not exist "%BackUpFolder%" mkdir "%BackUpFolder%"
copy /y "%TargetFolder%" "%BackUpFolder%"
reg EXPORT "%TargetKey%" %BackUpFile% /y

endlocal

リスト02 Taskbar-Pinned-Items-Restore.bat

@echo off
:: Taskbar-Pinned-Items-Restore.bat
:: Yoshikazu Akutsu
:: http://news.mynavi.jp/column/windows/index.html
::
setlocal
set BackUpFolder=%USERPROFILE%\Taskbar-Pinned-Items\TaskBar
set BackUpFile=%USERPROFILE%\Taskbar-Pinned-Items-Backup.reg
set TargetFolder=%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
set TargetKey=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband

del /F /S /Q /A "%TargetFolder%"
copy /y "%BackUpFolder%" "%TargetFolder%"
reg DELETE "%TargetKey%" /F
reg IMPORT "%BackUpFile%"

taskkill /f /im explorer.exe
start explorer.exe

endlocal
※「::」はコメント部分なので入力しなくても結構です。入力が面倒な場合はこちら(sample.lzh)からダウンロードしてください。

これで準備が終了しました(図03~10)。

図03 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「notepad」と入力して<OK>ボタンをクリックします

図04 リスト01の内容を入力し、<×>ボタンをクリックします

図05 保存をうながすメッセージが現れたら、<保存する>ボタンをクリックします

図06 ファイル名を「"Taskbar-Pinned-Items-Backup.bat"」に変更して、<保存>ボタンをクリックします

図07 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「notepad」と入力して<OK>ボタンをクリックします

図08 リスト02の内容を入力し、<×>ボタンをクリックします

図09 保存をうながすメッセージが現れたら、<保存する>ボタンをクリックします

図10 ファイル名を「"Taskbar-Pinned-Items-Restore.bat"」に変更して、<保存>ボタンをクリックします

早速動作を確認してみましょう。普段お使いのコンピューターで実行する場合はそのまま「Taskbar-Pinned-Items-Backup.bat」を実行してください。もし、実験環境で試す場合は適当なアプリケーションをピン留めしてから同バッチファイルを実行しましょう。バックアップ処理を終えたら、ピン留めしたボタンを削除し、ボタンの順番を入れ替えるなど状態を変更させてから「Taskbar-Pinned-Items-Restore.bat」を実行してください。これでタスクバーのピン留めボタンが復元します(図11~15)。

図11 任意のアプリケーションを起動し、ジャンプリストの<タスクバーにこのプログラムを表示する>を選択します

図12 タスクバーの状態を保存する準備ができたら、「Taskbar-Pinned-Items-Backup.bat」をダブルクリックして実行します

図13 再びジャンプリストのからピン留めしたボタンを適当に削除します

図14 「Taskbar-Pinned-Items-Restore.bat」をダブルクリックして実行します

図15 するとファイルおよびレジストリエントリの復元を終えてからエクスプローラーが再起動し、タスクバーのピン留めしたボタンが復元します

それは簡単にバッチファイルの内容を解説しましょう。処理自体は簡単でショートカットファイルの内容を環境変数「BackUpFolder」で定義したフォルダーにバックアップし、レジストリエントリの内容を環境変数「BackUpFile」で定義したファイルに出力しています。

その一方で復元処理は既存データ(ファイルおよびエントリ)を削除した後にバックアップデータの復元を行い、「taskkill」コマンドでエクスプローラーの実体である「explorer.exe」を終了させ、同プログラムを実行しました。そのため、稼働中のアプリケーションによっては通知領域のアイコンが消えてしまうなどの不具合が発生する可能性があります。その際はWindows 7に再ログオンしてください。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus