コンピュータアイコンにメニューを追加する

※ Windows の大きなアップデートで消える可能性はありますが、自分の好きなコマンドでカスタマイズできるので便利です。

▼ Windows10


▼ インストールするレジストリのキー
HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell

現状ではおそらくレジストリの該当場所の所有者が TrustedInstaller となっており、Administrators グループに権限が無いと思います。

いったん所有者を Administrators グループ に変更してから、Administrators グループ にアクセス権限を与えます。その後にレジストリのインポートを行って下さい。


アクセス許可を選択して表示されたダイアログの詳細設定ボタンをクリックして、表示された『shell のセキュリティの詳細設定』というダイアログの先頭にある『変更リンク』で所有者を変更します。

Administrators に変更した後、アクセス許可で Administrators にフルコントロールを設定します。


▼ 解凍後の内容

▼ README

************************************************************
コンピュータアイコンメニュー設定レジストリデータ

■ 事前準備

	インストール場所を開く.bat をエクスプローラからダブル
	クリックしてレジストリエディタを起動し、選択されている
	キーの所有者を自分が所属する Administrators グループに
	変更して、Administrators にフルコントロールを設定します

■ インストール

	computer_menu をエクスプローラからタブルクリック
	してインポートして下さい

■ アンインストール

	uninstall_computer_menu をエクスプローラからタブル
	クリックして下さい


■ 登録された場所でレジストリエディタを開く
	インストール場所を開く.bat をエクスプローラからタブ
	ルクリックして下さい

■著作権その他

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。
************************************************************

computer_menu.reg

001 : mmc.exe "%SystemRoot%\system32\services.msc" /s
002 : "%ProgramFiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe"
003 : RunDLL32.EXE shell32.dll,Control_RunDLL appwiz.cpl
004 : RunDLL32.EXE shell32.dll,Control_RunDLL odbccp32.cpl
005 : regedit.exe
006 : %SystemRoot%\system32\cmd.exe
007 : UserAccountControlSettings.exe
008 : mmc.exe "%windir%\system32\eventvwr.msc" /s
009 : rundll32.exe netplwiz.dll,UsersRunDll
010 : rundll32.exe sysdm.cpl,EditEnvironmentVariables
011 : cmd.exe /c powershell -NoProfile -ExecutionPolicy unrestricted -WindowStyle hidden -Command "start notepad.exe %SystemRoot%\system32\drivers\etc\hosts -verb runas"
012 : RUNDLL32.EXE shell32.dll,Options_RunDLL 7
013 : mmc.exe "%windir%\system32\taskschd.msc" /s
014 : mmc.exe "%SystemRoot%\system32\gpedit.msc"
015 : mstsc.exe
016 : control.exe /name Microsoft.WindowsUpdate
001.Windows Registry Editor Version 5.00
002. 
003.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\001]
004.@="   サービス"
005. 
006.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\001\command]
007.@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,53,00,79,\
008.  00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,\
009.  73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,65,00,72,00,76,00,69,00,63,\
010.  00,65,00,73,00,2e,00,6d,00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00
011. 
012.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\002]
013.@="   システム情報"
014. 
015.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\002\command]
016.@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
017.  00,65,00,73,00,25,00,5c,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,20,00,46,00,\
018.  69,00,6c,00,65,00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,\
019.  00,74,00,20,00,53,00,68,00,61,00,72,00,65,00,64,00,5c,00,4d,00,53,00,49,00,\
020.  6e,00,66,00,6f,00,5c,00,6d,00,73,00,69,00,6e,00,66,00,6f,00,33,00,32,00,2e,\
021.  00,65,00,78,00,65,00,22,00,00,00
022. 
023.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\003]
024.@="   プログラムと機能"
025. 
026.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\003\command]
027.@="RunDLL32.EXE shell32.dll,Control_RunDLL appwiz.cpl"
028. 
029.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\004]
030.@="   ODBC アドミニストレータ"
031. 
032.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\004\command]
033.@="RunDLL32.EXE shell32.dll,Control_RunDLL odbccp32.cpl"
034. 
035.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\005]
036.@="   レジストリエディタ"
037. 
038.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\005\command]
039.@="regedit.exe"
040. 
041.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\006]
042.@="   コマンドプロンプト"
043. 
044.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\006\command]
045.@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
046.  00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
047.  64,00,2e,00,65,00,78,00,65,00,00,00
048. 
049.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\007]
050.@="   UAC"
051. 
052.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\007\command]
053.@=hex(2):55,00,73,00,65,00,72,00,41,00,63,00,63,00,6f,00,75,00,6e,00,74,00,43,\
054.  00,6f,00,6e,00,74,00,72,00,6f,00,6c,00,53,00,65,00,74,00,74,00,69,00,6e,00,\
055.  67,00,73,00,2e,00,65,00,78,00,65,00,00,00
056. 
057.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\008]
058.@="   イベント ビューアー"
059. 
060.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\008\command]
061.@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,77,00,69,\
062.  00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
063.  33,00,32,00,5c,00,65,00,76,00,65,00,6e,00,74,00,76,00,77,00,72,00,2e,00,6d,\
064.  00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00
065. 
066.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\009]
067.@="   ユーザーアカウント"
068. 
069.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\009\command]
070.@="rundll32.exe netplwiz.dll,UsersRunDll"
071. 
072.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\010]
073.@="   環境変数"
074. 
075.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\010\command]
076.@="rundll32.exe sysdm.cpl,EditEnvironmentVariables"
077. 
078.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\011]
079.@="   HOSTS"
080. 
081.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\011\command]
082.@=hex(2):63,00,6d,00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,63,00,20,00,70,\
083.  00,6f,00,77,00,65,00,72,00,73,00,68,00,65,00,6c,00,6c,00,20,00,2d,00,4e,00,\
084.  6f,00,50,00,72,00,6f,00,66,00,69,00,6c,00,65,00,20,00,2d,00,45,00,78,00,65,\
085.  00,63,00,75,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,6c,00,69,00,63,00,79,00,\
086.  20,00,75,00,6e,00,72,00,65,00,73,00,74,00,72,00,69,00,63,00,74,00,65,00,64,\
087.  00,20,00,2d,00,57,00,69,00,6e,00,64,00,6f,00,77,00,53,00,74,00,79,00,6c,00,\
088.  65,00,20,00,68,00,69,00,64,00,64,00,65,00,6e,00,20,00,2d,00,43,00,6f,00,6d,\
089.  00,6d,00,61,00,6e,00,64,00,20,00,22,00,73,00,74,00,61,00,72,00,74,00,20,00,\
090.  6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,20,00,25,\
091.  00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,\
092.  73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,00,69,00,76,\
093.  00,65,00,72,00,73,00,5c,00,65,00,74,00,63,00,5c,00,68,00,6f,00,73,00,74,00,\
094.  73,00,20,00,2d,00,76,00,65,00,72,00,62,00,20,00,72,00,75,00,6e,00,61,00,73,\
095.  00,22,00,00,00
096. 
097.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\012]
098.@="   フォルダオプション"
099. 
100.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\012\command]
101.@="RUNDLL32.EXE shell32.dll,Options_RunDLL 7"
102. 
103.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\013]
104.@="   タスク スケジューラ"
105. 
106.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\013\command]
107.@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,77,00,69,\
108.  00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
109.  33,00,32,00,5c,00,74,00,61,00,73,00,6b,00,73,00,63,00,68,00,64,00,2e,00,6d,\
110.  00,73,00,63,00,22,00,20,00,2f,00,73,00,00,00
111. 
112.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\014]
113.@="   ローカル グループ ポリシーエディタ"
114. 
115.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\014\command]
116.@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,53,00,79,\
117.  00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,\
118.  73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,67,00,70,00,65,00,64,00,69,00,74,\
119.  00,2e,00,6d,00,73,00,63,00,22,00,00,00
120. 
121.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\015]
122.@="   リモートデスクトップ"
123. 
124.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\015\command]
125.@="mstsc.exe"
126. 
127.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\016]
128.@="   Windows Update"
129. 
130.[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\016\command]
131.@="control.exe /name Microsoft.WindowsUpdate"

▼ インストール場所


▼ インストール場所を レジストリエディタで開く VBScript
01.strParam = Trim( "HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell" )
02.' 無ければ、クリップボード
03.if strParam = "" then
04.        ' クリップボード用
05.        ' ※ HTA 等では直接 window.clipboardData より実行
06.        ' ※ するように書き換える必要があります
07.        Set objIE = CreateObject("InternetExplorer.Application")
08.        objIE.Navigate("about:blank")
09.        Do While objIE.Busy
10.                ' 100 ミリ秒
11.                Wscript.Sleep 100
12.        Loop
13.        strParam = objIE.document.parentWindow.clipboardData.GetData( "Text" ) & ""
14.        objIE.Quit
15.end if
16.strParam = Trim( strParam )
17.' 無ければ入力
18.if strParam = "" then
19.        strParam = InputBox("開く対象となるレジストリーのキーを入力して下さい")
20.end if
21.if strParam = "" then
22.        Wscript.Quit
23.end if
24. 
25.' レジストリ書き込み用
26.Set WshShell = CreateObject( "WScript.Shell" )
27.' WMI用
28.Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
29. 
30.' レジストリエディタが最後に開いていたキーの登録を行います
31.strPath = "Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey"
32.if GetOSVersion() >= 6 then
33.        strRegPath = "コンピューター\" & strParam
34.else
35.        strRegPath = "マイ コンピュータ\" & strParam
36.end if
37. 
38.' 既に regedit が実行中の場合はいったん終了させます
39.Set colProcessList = objWMIService.ExecQuery _
40.        ("Select * from Win32_Process Where Name = 'regedit.exe'")
41.For Each objProcess in colProcessList
42.        ' 最後のウインドウの位置とサイズを保存する為の終わらせ方
43.        WshShell.AppActivate("レジストリ エディタ")
44.        Wscript.Sleep(500)
45.        WshShell.SendKeys ("%{F4}")
46.        Wscript.Sleep(500)
47.        ' 上記終わらせ方が失敗した時の強制終了
48.        on error resume next
49.        objProcess.Terminate()
50.        on error goto 0
51.Next
52. 
53.WshShell.RegWrite "HKCU\" & strPath, strRegPath, "REG_SZ"
54. 
55.' レジストリエディタを起動します
56.Call WshShell.Run( "regedit.exe" )
57.' レジストリエディタが終わるまで待つ場合は以下のようにします
58.' Call WshShell.Run( "regedit.exe", , True )
59. 
60.REM **********************************************************
61.REM OS バージョンの取得
62.REM **********************************************************
63.Function GetOSVersion()
64. 
65.        Dim colTarget,str,aData,I,nTarget
66. 
67.        Set colTarget = objWMIService.ExecQuery( _
68.                 "select Version from Win32_OperatingSystem" _
69.        )
70.        For Each objRow in colTarget
71.                str = objRow.Version
72.        Next
73. 
74.        aData = Split( str, "." )
75.        For I = 0 to Ubound( aData )
76.                if I > 1 then
77.                        Exit For
78.                end if
79.                if I > 0 then
80.                        nTarget = nTarget & "."
81.                end if
82.                nTarget = nTarget & aData(I)
83.        Next
84. 
85.        GetOSVersion = CDbl( nTarget )
86. 
87.End Function