Home > Windows Archive

Windows Archive

ファイルの関連付けを初期化する

ファイルのコンテキストメニューにある<プログラムから開く>→<既定のプログラムの選択>からは、ファイルをダブルクリックした際に関連付けとして起動するアプリケーションを選択できます。ここで選択したプログラムは、レジストリのHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\{拡張子}\UserChoiceキーのREG_SZ「Progid」に記録されているため(下表参照)、誤って不要なアプリケーションを選択してしまった場合、このUserChoiceキーキーを削除すれば初期状態に戻ります。関連付けを初期化する際にお試しください(図1)。

UserChoice-01図1 「ファイルを開くプログラムの選択」ダイアログから選択した関連付け情報は、~\Explorer\FileExts\{拡張子}\UserChoiceキー下に格納されます。関連付けを初期化する場合は、UserChoiceキーを削除してください

キー HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\{拡張子}
削除するキー UserChoice

Windowsセキュリティダイアログの項目を削除する

Windows Vistaの使用中に[Ctrl]+[Alt]+[Del]キーを押すと表示される画面を、「Windowsセキュリティダイアログ」と呼び、この画面からはコンピュータのロックやタスクマネージャの起動など、システム管理に必要ないくつかの設定が可能です。しかし、不特定多数が使用するコンピュータの場合、プロセスを直接終了できるタスクマネージャの使用や、ユーザーパスワードの変更は、反対に制限したい機能となります。そこで、レジストリエントリを駆使し、これらの項目を削除しましょう。

初期状態のWindowsセキュリティダイアログでは、「このコンピュータのロック」「ユーザーの切り替え」「ログオフ」「パスワードの変更」「タスクマネージャの起動」の5つの項目が表示されます(図1)。

PoliciesSystem-01図1 初期状態のWindowsセキュリティダイアログ

Windowsセキュリティダイアログの項目を削除するには、レジストリのHKEY_CURRENT_USER\Software \Microsoft\Windows\CurrentVersion\Policies\System(もしくは、KEY_LOCAL_MACHINE \Software\Microsoft\Windows\CurrentVersion\Policies\System)で設定を行ないます。具体的には下記に示した表のとおり、それぞれの項目に対応したREG_DWORDを作成し、データ値に「1」を入れることで、制限が可能になります。また、各項目による制限の結果は図2~図5をご覧ください。また、各レジストリエントリは項目を非表示にするだけではなく、機能自体を無効にします。たとえば REG_DWORD「DisableTaskMgr」のデータ値を「1」にした場合、タスクマネージャは起動できなくなります(図6)。

PoliciesSystem-02図2 REG_DWORD「DisableTaskMgr」を設定した場合

PoliciesSystem-03 図3 REG_DWORD「DisableLockWorkstation」を設定した場合

PoliciesSystem-04 図4 REG_DWORD「DisableChangePassword」を設定した場合

PoliciesSystem-05 図5 REG_DWORD「NoLogoff」を設定した場合

PoliciesSystem-06 図6 「DisableTaskMgr」を設定すると、Windowsセキュリティダイアログ以外からもタスクマネージャは起動できなくなります。

内容 「このコンピュータのロック」を無効にする
ユーザーキー HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
システムキー HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
種類 REG_DWORD
値名 DisableLockWorkstation
データ値 1
内容 「ユーザーの切り替え」を無効にする
ユーザーキー HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
システムキー HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
種類 REG_DWORD
値名 HideFastUserSwitching
データ値 1
内容 「ログオフ」を無効にする
ユーザーキー HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
システムキー HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
種類 REG_DWORD
値名 NoLogoff
データ値 1
内容 「パスワードの変更」を無効にする
ユーザーキー HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
システムキー HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
種類 REG_DWORD
値名 DisableChangePassword
データ値 1
内容 「タスクマネージャの起動」を無効にする
ユーザーキー HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
システムキー HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
種類 REG_DWORD
値名 DisableTaskMgr
データ値 1

プログラム互換性アシスタントを無効化する

「プログラム互換性アシスタント(PCA:Program Compatibility Assistant)」は、本来ユーザーが実行したプログラムの互換性に問題がないかチェックし、推奨される解決策をユーザーに明示する機能です。しかし、古いアプリケーションは必要ない、と言い切れる環境であれば、この機能を無効にすることでパフォーマンスの向上を期待できるかもしれません。 レジストリのHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows \AppCompatキーで設定している各エントリですが(下表参照)、REG_DWORD「DisablePCA」は文字どおりプログラム互換性アシスタントを無効にし、REG_DWORD「DisableWizard」はプログラム互換性ウィザードを無効化するもの。REG_DWORD 「DisableEngine」は同エンジンを無効にします。これらのエントリを作成することでPCAは無効化されます(図1、2)。また、PCAは「Diagnostic Policy Service」「Program Compatibility Assistant Service」の2つのサービスと連動しているため、各サービスを無効もしくは手動にしておきましょう。 ※注 この設定を行うと古いアプリケーションを動作させる際にトラブルを起こす可能性があります。 DisablePCA-01図1 本設定を行なうと、実行プログラムのプロパティダイアログから<互換性>タブが削除されます。 DisablePCA-02図2 本設定を行なうと、コントロールパネル→プログラム→古いプログラムをこのバージョンのWindowsで使用するで起動する「プログラム互換性ウィザード」が起動しなくなります。

キー HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat
種類 REG_DWORD
値名 DisablePCA
DisableWizard
DisableEngine
各データ値 1
サービス表示名 スタートアップの種類
Diagnostic Policy Service 自動
Program Compatibility Assistant Service 自動

サービスパックの適用をレジストリから確認する

サービスパックの適用は「winver.exe」を実行すれば簡単に確認できますが(図1)、スクリプトなどから情報を取得する場合は、レジストリエントリを参照した方が便利でしょう。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WindowsキーのREG_DWORD「CSDVersion」には、サービスパック番号が3桁で格納されています。また、Windows Vistaでは、同キー内のREG_DWORD「CSDBuildNumber」では、内部ビルド番号が10進数で格納されています(下表参照)。

ちなみに、REG_DWORD「CSDVersion」のデータ値を変更することで、サービスパックのバージョンチェックを回避することも可能ですが、実行形式ファイルのプロパティダイアログにある<互換性>タブで「互換モードでこのプログラムを実行する」にチェックを入れ、ドロップダウンリストから適用するOSバージョンを選択した方が確実でしょう(図2)。

OS CSDVersion CSDBuildNumber
XP SP2 200
XP SP3 300
Vista 0 16386
Vista SP1 100 18000

CSDVersion-01 図1 「Winver.exe」を実行すれば、バージョン、リリースビルド番号、サービスパック番号を確認できます

CSDVersion-02 図2 バージョンチェックを回避するには、実行ファイルのプロパティダイアログにある<互換性>タブにある「互換モードでこのプログラムを実行する」にチェックを入れ、ドロップダウンリストから選択します

Windowsエラー報告を簡易化する

Windows 2000/XP用の古いプログラムをWindows Vista上で動作させるには、様々なコツがあるものの、プログラムによっては何をしても動作しない場合があります。その際にはWindowsエラー報告機能が動作し、初期状態では自動的に解決方法を検索しますが、提示される解決策はあまり役に立たないことが多いため、検索時間が無駄になってしまいます。また、コントロールパネルの「問題のレポートと解決策」にある「設定の変更」をクリックして設定画面から<問題が発生した場合に自分で解決します>を選択すると、エラー発生時に検索を行なうかアプリケーションを終了するかの選択を求められるため、やはり無駄なステップが増えてしまいます。そこで、 Windowsエラー機能を無効にする設定を行ない、1ステップでエラーが発生したアプリケーションを閉じられるようにしましょう。

レジストリのHKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reportingキーに、REG_DWORD「Disabled」を作成し、値のデータを「1」に変更します(下表参照)。この設定を行なうと、エラーダイアログで「プログラムを終了します」のみが表示されるようになります(図1、2)。

WerDisable-01図1 <問題が発生した場合に自分で解決します>を選択している場合は、選択が必要になります。また、初期状態では自動的に解決策を検索するため、検索の待ち時間が無駄になってしまうことが多いでしょう。

WerDisable-02 図2 レジストリエントリによるカスタマイズを行なうと、「オンラインで解決策を検索してプログラムを終了します」が表示されないため、そのままプログラムを終えることができます。

内容 エラー報告の内容を簡易化する
キー HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting
種類 REG_DWORD
値名 Disabled
データ値 1
内容 エラー報告のダイアログを非表示にする
種類 REG_DWORD
値名 DontShowUI
データ値 1

デスクトップにIEアイコンを表示させる

Windows Vistaでは、デスクトップに表示させる特殊アイコンを取捨選択できるものの、IE(Internet Explorer)が選択肢から外されました(図1)。プログラムメニューなどからコピーすることも可能ですが、ショートカットアイコンになってしまうため、特殊アイコンの意味がありません。そこでレジストリエントリを作成し、デスクトップにIEアイコンを追加する手順を紹介します。ポイントとなるのはIEに割り当てられたクラスID「{871C5380-42A0-1069-A2EA-08002B30309D}」。このクラスIDを、デスクトップへ特殊アイコンの表示・非表示を管理するHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanelキーに作成すればOKです(下表参照)。エントリ作成後は[F5]キーを押して変更をシステムに反映させた後、デスクトップの何もないところをクリックしてから[F5]キーで更新すれば、IEアイコンが表示されます(図2)。

※注 64ビット版IEには単独のクラスIDが割り当てられていないため、デスクトップに作成されたIEアイコンから起動するのは32ビット版となります。

NewStartPanel-01図1 Windows Vistaの「デスクトップアイコンの変更」をでは、IEアイコンをデスクトップに表示させることができなくなっています。

NewStartPanel-02図2 IEアイコンのくらすIDに対応したレジストリエントリを作成します。値のデータが「0」の時は表示、「1」のときは非表示となります。

キー HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel
種類 REG_DWORD
値名 {871C5380-42A0-1069-A2EA-08002B30309D}
データ値 0
クラスID 内容
{208D2C60-3AEA-1069-A2D7-08002B30309D} 不明(エクスプローラ?)
{20D04FE0-3AEA-1069-A2D8-08002B30309D} コンピュータ
{4336a54d-038b-4685-ab02-99bb52d3fb8b} パブリックフォルダ
{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0} コントロールパネル
{59031a47-3f72-44a7-89c5-5595fe6b30ee} ユーザーフォルダ
{645FF040-5081-101B-9F08-00AA002F954E} ごみ箱
{871C5380-42A0-1069-A2EA-08002B30309D} IE
{9343812e-1c37-4a49-a12e-4b2d810d956b} 不明(検索?)
{F02C1A0D-BE21-4350-88B0-7367FC96EF3C} ネットワーク

Windows Media Centerを無効にする

Windows Vistaには「Windows Media Center」というマルチメディアツールが用意されています(Home PremiumおよびUltimateのみ)。このツールはWindows XP Media Center Editionから搭載されたものですが、対応するビデオキャプチャカードの制限もあり、活用されているユーザーはあまり多くないでしょう。そこで、同ツールを無効にし、すっきりしたシステム環境を構築しましょう。

まず下記のレジストリ設定を行なうとWindows Media Centerが起動しなくなります(図1)。続けて「Services.msc」を実行します。ここで「Windows Media Center Extender Service」ダブルクリックをダブルクリックし、プロパティダイアログのドロップダウンリストから「無効」を選びます。同様に「Windows Media Center Receiver Service」「Windows Media Center Scheduler Service」「Windows Media Center Service Launcher」も無効にします。起動中のサービスは「停止」ボタンをクリックして止めてください。

MediaCenter01 図1 レジストリ変更後にWindows Media Centerを起動すると、画面のような警告メッセージが表示され、起動できなくなります。

キー(システム) HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsMediaCenter
キー(ユーザー) HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\WindowsMediaCenter
種類 REG_DWORD
値名 MediaCenter
データ値 1(無効化)
サービス表示名 スタートアップの種類
Windows Media Center Extender Service 無効
Windows Media Center Receiver Service 手動
Windows Media Center Scheduler Service 手動
Windows Media Center Service Launcher 自動(遅延起動)

Windowsエラー報告のログを無効にする

「Windowsエラー報告を簡易化する」とあわせて設定したいのが、エラーレポートの記録(ログ)の記録を無効にする設定です。情報をMicrosoftに送信することで、修正プログラムなどによる問題解決に至ることもありますが、あまり期待できないことに加えて、そもそも送信を行わない場合レポート自体が無駄になります。下表を参考にレジストリ設定を変更すると、Windows Error Reporting Queue Files(%USERPROFILE%\AppData\Local\Microsoft\Windows\WER\ReportQueue)にエラーレポートが格納されなくなるため、ファイルの断片化も若干ながら抑えられるようになります。

キー HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting
種類 REG_DWORD
値名 LoggingDisabled
データ値 1

HDD空き容量の警告を無効にする

Windows XPと同様、Windows Vistaでも、HDDの空き容量がチェックされています。ただし、このチェックシステムは、数分毎にローカルディスクとして認識されたボリュームすべてを確認しているため、ハードディスクを自己管理しているユーザーには無用の長物といえるでしょう。以下のようにレジストリを変更し、「NoLowDiskSpaceChecks」を設定することでボリュームの空き容量チェックを無効にできます。

ブリーフケースを<新規作成>から削除する

Windows 95から搭載されている「ブリーフケース」機能は、ブリーフケース内にファイルやフォルダを登録し、他のコンピュータとデータ同期を行なうためのものでした。Windows Vistaになっても、このブリーフケースは残っていますが、ファイルサーバーにファイルを保存して各クライアントコンピュータから参照したほうが、安全かつシンプルなため、同機能を使うメリットは少ないでしょう。そこで、Windows Vistaのブリーフケース作成機能を削除する手順を紹介します。デスクトップのコンテキストメニューにある「新規作成」は、レジストリのHKEY_CLASSES_ROOT\{任意のキー}\ShellNewで定義されているため、同キーを削除すれば表示されなくなります。ただし、削除したことでトラブルが発生する可能性もあるので、あらかじめレジストリエディタのエクスポート機能でバックアップしておきましょう(図1)。キー削除後は[F5]キーを押すことで、設定内容がシステムに反映されます。その後、デスクトップの何もないところを右クリックし、メニューから<新規作成>を開くと、ブリーフケースがメニュー項目から取り除かれています(図2)。誤ってバックアップしたレジストリファイルを紛失した時は、本ページ末尾にあるレジストリファイルをインポートしてください。

キー HKEY_CLASSES_ROOT\Briefcase\ShellNew

Briefcase01 図1 キーを削除する前に、レジストリエディタのエクスポート機能を使ってバックアップしてください。

Briefcase02 図2 設定後にコンテキストメニューの<新規作成>を開くと、「ブリーフケース」が削除されています。

Home > Windows Archive

Return to page top