Windows 8.1のThis PCに表示されるように、新しいシステムフォルダーを作成するにはどうすればよいですか?
私はこれを達成するために多くの異なるアプローチを試みてきましたが、現時点ではまだ成功していません。
私の目標は、新しいシステムフォルダーを作成して、This PCの下の、既に存在する他の6つのシステムフォルダーの隣のウィンドウに表示されるようにすることです。デスクトップ、ドキュメント、ダウンロード、音楽、写真、ビデオ。
Winaeroなどの調整プログラムをダウンロードしたくありません。
レジストリエディターでこれを実現する方法があるはずです。
これらの手順はpctools.comで見つかりました。これまでに見つけた最も有望な指示でしたが、指示に従っても何も起こらなかったため、再起動後も新しい7番目のフォルダーはありませんでした。
カスタムフォルダーをマイコンピューターまたはデスクトップ(すべてのWindows)に追加する
削除や名前の変更ができない「マイドキュメント」などの独自のカスタムシステムフォルダを作成し、デスクトップとマイコンピュータに配置します。
レジストリの[HKEY_CLASSES_ROOT\CLSID]または[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID]に次の一連のキーと値を作成します。グローバルに一意の識別子であるGUIDは、乱数にすることができます。この例では、「FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345」が使用されています。 GUIDの例については、この記事を参照してください。
[HKEY_CLASSES_ROOT\CLSID {FD4DF9E0-E3DE-11CE-> BFCF-ABCD1DE12345}]という新しいキーを作成し、(デフォルト)をフォルダーの名前と等しくなるように設定します。 「マイフォルダ」。
"DefaultIcon"(つまり、[HKEY_CLASSES ... ABCD1DE12345}\DefaultIcon])というメインキーの下に新しいサブキーを作成し、(デフォルト)を設定して、表示するアイコンのファイル名と同じにします。 「c:\ windows\myicon.ico」。
"InProcServer32"(つまり[HKEY_CLASSES ... ABCD1DE12345}\InProcServer32])というメインキーの下に新しいサブキーを作成し、(デフォルト)をShell32.dllに設定します。また、 "ThreadingModel"という新しい文字列値を作成し、 「アパート」に設定します。
メインキー「Shell\Open My Menu\Command」(つまり、[HKEY_CLASSES ... ABCD1DE12345}\Shell\Open My Folder\Command])で始まる一連のサブキーを作成し、コマンドを次のように設定します(デフォルト)。クリックすると実行されます。この場合はエクスプローラなどです。 「エクスプローラ/ root、c:\ MyFolder」。
メインキー「ShellEx\PropertySheetHandlers {FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}」で始まるサブキーのセットを作成します(つまり、[HKEY_CLASSES ... ABCD1DE12345}\ShellEx\PropertySheetHandlers {FD4DF9E0-E3DE-11CE-BFCF- ABCD1DE12345}])
「ShellFolder」というメインキーの下に新しいサブキーを作成し([HKEY_CLASSES ... ABCD1DE12345}\ShellFolder])、「Attributes」という新しいバイナリ値を作成して、「00 00 00 00」に設定します。
(オプション)デスクトップにフォルダーを配置するには、次のキーを追加します:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace {FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}]
(オプション)フォルダーをマイコンピューターに配置するには、次のキーを追加します:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace {FD4DF9E0-E3DE-11CE-BFCF-ABCD1DE12345}]
これで、フォルダーをデスクトップまたはマイコンピューターから削除することも、CLSIDおよびNAMESPACEの下のエントリを削除すること以外に名前を変更することもできなくなりました。
誰かがこれを理解するのを手伝ってくれませんか?
これらの手順は、すべてのreg-editsをガイドします。
HKCR\CLSIDレジストリブロックの画面グラブにより、キーが正しく追加されたことを確認できます:
HKCR\Wow6432Node\CLSIDレジストリブロックのスクリーングラブ。キーを正しく追加したことを確認できます。
さまざまなステップのスクリーングラブはここにあります:
私はこの質問5年前に尋ねられたおよび最後の答えは4年前でしたを知っていますが、GoogleはWindows 10でソリューションを検索するときにこのスレッドを指摘しました。
Mccdyl001によって提供されるソリューションは、「デバイスとディスク」セクションに私用に作成し、「フォルダー」セクションに必要でした。したがって、私がこのPowerShellスクリプトを思いついたすべての情報を収集しました(現在のユーザーに対してのみエントリを作成します)。
# ##############################################################################
# Configuration
# ##############################################################################
$FolderName="Python"
$FolderLocation="%USERPROFILE%\Python"
$FolderHint="Python scripts"
$FolderIcon="C:\Python37\pythonw.exe,0"
# ##############################################################################
# Variables
# ##############################################################################
$MYCLSID=$([guid]::NewGuid().ToString("B").ToUpper())
$HKCU_CLSID="HKCU:\Software\Classes\CLSID\$MYCLSID"
# ##############################################################################
# 32bit
# ##############################################################################
New-Item -Path $HKCU_CLSID
Set-ItemProperty -Path $HKCU_CLSID -Name "(Default)" -Value $FolderName
Set-ItemProperty -Path $HKCU_CLSID -Name "InfoTip" -Value $FolderHint
Set-ItemProperty -Path $HKCU_CLSID -Name "DescriptionID" -Value 3 -type dword
Set-ItemProperty -Path $HKCU_CLSID -Name "System.IsPinnedtoNameSpaceTree" -Value 1 -Type DWORD
New-Item -Path $HKCU_CLSID\DefaultIcon
Set-ItemProperty -Path $HKCU_CLSID\DefaultIcon -Name "(Default)" -Value $FolderIcon
New-Item -Path $HKCU_CLSID\InProcServer32
Set-ItemProperty -Path $HKCU_CLSID\InProcServer32 -Name "(Default)" -Value "shdocvw.dll"
Set-ItemProperty -Path $HKCU_CLSID\InProcServer32 -Name "ThreadingModel" -Value "Both"
New-Item -Path $HKCU_CLSID\Instance
Set-ItemProperty -Path $HKCU_CLSID\Instance -Name "CLSID" -Value "{0afaced1-e828-11d1-9187-b532f1e9575d}"
New-Item -Path $HKCU_CLSID\Instance\InitPropertyBag
Set-ItemProperty -Path $HKCU_CLSID\Instance\InitPropertyBag -Name "Attributes" -Value 15 -Type DWORD
Set-ItemProperty -Path $HKCU_CLSID\Instance\InitPropertyBag -Name "Target" -Value $FolderLocation -Type ExpandString
New-Item -Path $HKCU_CLSID\ShellEx
New-Item -Path $HKCU_CLSID\ShellEx\PropertySheetHandlers
New-Item -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 1 general"
Set-ItemProperty -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 1 general" -Name "(Default)" -Value "{21b22460-3aea-1069-a2dc-08002b30309d}"
New-Item -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 2 customize"
Set-ItemProperty -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 2 customize" -Name "(Default)" -Value "{ef43ecfe-2ab9-4632-bf21-58909dd177f0}"
New-Item -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 3 sharing"
Set-ItemProperty -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 3 sharing" -Name "(Default)" -Value "{f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}"
New-Item -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 4 security"
Set-ItemProperty -Path "$HKCU_CLSID\ShellEx\PropertySheetHandlers\tab 4 security" -Name "(Default)" -Value "{1f2e5c40-9550-11ce-99d2-00aa006e086c}"
New-Item -Path $HKCU_CLSID\ShellFolder
Set-ItemProperty -Path $HKCU_CLSID\ShellFolder -Name "Attributes" -Value 0xf080004d -type DWORD
Set-ItemProperty -Path $HKCU_CLSID\ShellFolder -Name "WantsFORPARSING" -Value ""
Set-ItemProperty -Path $HKCU_CLSID\ShellFolder -Name "HideAsDeletePerUser" -Value ""
# ##############################################################################
# 64bit
# ##############################################################################
if ([Environment]::Is64BitsOperatingSystem) {
$HKCU_WOW6432Node_CLSID="HKCU:\Software\Classes\WOW6432Node\CLSID\$MYCLSID"
New-Item -Path $HKCU_WOW6432Node_CLSID
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID -Name "(Default)" -Value $FolderName
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID -Name "InfoTip" -Value $FolderHint
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID -Name "DescriptionID" -Value 3 -type dword
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID -Name "System.IsPinnedtoNameSpaceTree" -Value 1 -Type DWORD
New-Item -Path $HKCU_WOW6432Node_CLSID\DefaultIcon
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\DefaultIcon -Name "(Default)" -Value $FolderIcon
New-Item -Path $HKCU_WOW6432Node_CLSID\InProcServer32
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\InProcServer32 -Name "(Default)" -Value "shdocvw.dll"
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\InProcServer32 -Name "ThreadingModel" -Value "Both"
New-Item -Path $HKCU_WOW6432Node_CLSID\Instance
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\Instance -Name "CLSID" -Value "{0afaced1-e828-11d1-9187-b532f1e9575d}"
New-Item -Path $HKCU_WOW6432Node_CLSID\Instance\InitPropertyBag
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\Instance\InitPropertyBag -Name "Attributes" -Value 15 -Type DWORD
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\Instance\InitPropertyBag -Name "Target" -Value $FolderLocation -Type ExpandString
New-Item -Path $HKCU_WOW6432Node_CLSID\ShellEx
New-Item -Path $HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers
New-Item -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 1 general"
Set-ItemProperty -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 1 general" -Name "(Default)" -Value "{21b22460-3aea-1069-a2dc-08002b30309d}"
New-Item -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 2 customize"
Set-ItemProperty -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 2 customize" -Name "(Default)" -Value "{ef43ecfe-2ab9-4632-bf21-58909dd177f0}"
New-Item -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 3 sharing"
Set-ItemProperty -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 3 sharing" -Name "(Default)" -Value "{f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}"
New-Item -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 4 security"
Set-ItemProperty -Path "$HKCU_WOW6432Node_CLSID\ShellEx\PropertySheetHandlers\tab 4 security" -Name "(Default)" -Value "{1f2e5c40-9550-11ce-99d2-00aa006e086c}"
New-Item -Path $HKCU_WOW6432Node_CLSID\ShellFolder
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\ShellFolder -Name "Attributes" -Value 0xf080004d -type DWORD
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\ShellFolder -Name "WantsFORPARSING" -Value ""
Set-ItemProperty -Path $HKCU_WOW6432Node_CLSID\ShellFolder -Name "HideAsDeletePerUser" -Value ""
}
# ##############################################################################
# Add to Explorer
# ##############################################################################
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer -ErrorAction SilentlyContinue
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace -ErrorAction SilentlyContinue
New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\$MYCLSID
# ##############################################################################
# Restart Explorer
# ##############################################################################
Stop-Process -ProcessName Explorer
これを説明するリンクをスクリーンショットと簡単な用語で投稿する場合(技術情報は同じ) ファイルエクスプローラーのナビゲーションウィンドウの[このPC]の下にカスタムフォルダーを追加する方法
既存の/組み込みのShellフォルダー実装の設定を使用する方法、およびカスタムフォルダーの設定を使用する方法をユーザーに通知します。
まだこれを検索している可能性がある人のために2セントを追加します。同じことを実行するためのはるかに単純な(そして安全な)方法があります。「このPC」に表示するフォルダは、「フォルダ」の下ではなく「ネットワークの場所」の下に表示されます。
[このPC]に移動し、任意の場所を右クリックして[ネットワークの場所を追加]を選択します。最初に共有としてループバックアドレス\\127.0.0.1
を追加し、次に目的のフォルダーに従ってパスを完成させます。
例:\\127.0.0.1\Users\YourUserName\Saved Games
は、[このPC]の[ネットワークロケーション]の下にSaved games
フォルダを追加します。
それで全部です!