こんにちは、阿久津です。MicrosoftがリリースしたWindows 10テクニカルプレビューですが、Windows Phoneの顔としてお馴染みのJoe Belfiore氏によれば、仮想マシンにインストールされたのは全体の36%。残りの64%は実機にインストールされているとのこと。メインPCへのインストールは筆者も踏み切ることができませんが、確かに実機でも使いたくなる出来です。
さて、Windows 10にはメインOSと使う上で気になる点も残っています。その一つが「continuum」と呼ばれるスタート画面/スタートメニュー(タブレットモード/デスクトップモード)の切り替え機能が、テクニカルプレビューでは未実装あること。筆者の場合、Surface Proをタブレットとして使う場面も少なくありません。その際、スタート画面とスタートメニューを切り替えるために、再サインインするのは面倒です(図02)。
このスタート画面/スタートメニューの切り替えは、HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Explorer\AdvancedキーのDWORD値「EnableStartMenu」で制御しており、データが「0」の際はスタート画面、「1」の際はスタートメニューが有効になる仕組みです。そこで今週は、このレジストリエントリを切り替えるスクリプトを用意し、コンテキストメニューから呼び出すチューニングを紹介しましょう。
1. メモ帳を起動し、VBSファイルを作成します。
2. VBSファイルをC:\Windowsフォルダーに移動します。
3. 管理者権限でレジストリエディターを起動します。
4. レジストリエディターが起動したら、HKEY_CLASSES_ROOT\DesktopBackground\Shellキーを開きます。
5. Toogle Start Modeキーを作成します。
6. 文字列値「Position」を作成し、データを「Bottom」に変更します。
7. Toogle Start Modeキーの下にcommandキーを作成します。
8. (Default)のデータを「WScript C:\Windows\Toggle_StartMode.vbs」に変更します。
9. レジストリエディターを終了します。
これでチューニングが完了しました(図03~19)。
FileExtension = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\EnableStartMenu"
Set CMD = WScript.CreateObject("WScript.Shell")
Check = CMD.RegRead(FileExtension)
If Check = 1 Then
CMD.RegWrite FileExtension, 0, "REG_DWORD"
Else
CMD.RegWrite FileExtension, 1, "REG_DWORD"
End If
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd /c taskkill /f /im explorer.exe", 0
WScript.Sleep 500
oShell.run "cmd /c start explorer.exe", 0
では、結果を確認してみましょう。デスクトップの何もないところを右クリックしますと、コンテキストメニューに<Toggle Start Mode>という項目が新たに加わっています(図20~22)。
前述のとおりスタートメニュー/スタート画面の状態は、DWORD値「EnableStartMenu」で制御していますが、今回用意したVBSファイルでは同エントリの状態を確認して「1」の場合は「0」へ、「0」の場合は「1」へ変更します。その後「taskkill」コマンドでエクスプローラー(Explorer.exe)を強制終了し、再びExplorer.exeを起動するというもの。
本チューニングを破棄する場合は、HKEY_CLASSES_ROOT\DesktopBackground\Shell\Toggle Start Modeキーと、「C:\Windows\Toggle_StartMode.vbs」ファイルを削除してください。
それでは、また次号でお目にかかりましょう。
阿久津良和(Cactus)