开发者

Where can I learn about the "shell:" URI?

I just realised there is a shell: URI, but every sear开发者_C百科ch engine seems to think shell: and shell are the same thing.

The only thing I've found out is that you can type shell:startup right in explorer (XP & 7 tested) for obvious effects.

This is good already because there is no %startup%, but I want to know what else is this capable of.

Is there any MS reference on this?

EDIT (even if it's not on MSDN)


There doesn't seem to be a MSDN reference: there is this, though: http://www.winhelponline.com/blog/shell-commands-to-access-the-special-folders/

Edit: The KNOWNFOLDERID page on MSDN has some details on the folders, but not on the shell: mechanism for opening them.

Edit 2: This is the contents of the first link, just in case it disappears:

The shell: command can be used to open a special folder directly from the Start, Search menu or from the Run dialog. For example, the command shell:sendto opens the SendTo folder (%userprofile%\sendto) of your user profile. To launch the Documents folder of your user profile, you’d type shell:Personal. Below is a complete shell: commands listing for Windows 10/8/7/XP/Vista. The entire listing is stored in the following registry key in Windows Vista and higher:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\FolderDescriptions

Complete list of Shell: commands in Windows 10

There are 22 new shell commands for Windows 10. The "SkyDrive…" stuff becomes "OneDrive…", and the earlier format is dropped in Windows 10. The new additions to Windows 10 are highlighted thereby.

shell:AccountPictures
shell:Roaming Tiles
shell:Common Programs
shell:PublicAccountPictures
shell:GameTasks
shell:UserProfiles
shell:MyComputerFolder
shell:SearchHistoryFolder
shell:Local Pictures
shell:SyncSetupFolder
shell:DpapiKeys
shell:Retail Demo
shell:Favorites
shell:My Video
shell:SearchHomeFolder
shell:RecordedTVLibrary
shell:System
shell:Libraries
shell:ThisDeviceFolder
shell:AppsFolder
shell:MusicLibrary
shell:CommonVideo
shell:OneDriveDocuments
shell:SyncResultsFolder
shell:Cookies
shell:CameraRollLibrary
shell:Original Images
shell:Recorded Calls
shell:3D Objects
shell:CommonMusic
shell:OneDrivePictures
shell:My Pictures
shell:Cache
shell:Local Videos
shell:Downloads
shell:SavedPictures
shell:CommonDownloads
shell:AppData
shell:SyncCenterFolder
shell:PublicLibraries
shell:VideosLibrary
shell:My Music
shell:ConflictFolder
shell:SavedGames
shell:InternetFolder
shell:HomeGroupFolder
shell:Quick Launch
shell:SystemCertificates
shell:Contacts
shell:UserProgramFiles
shell:Device Metadata Store
shell:Profile
shell:Start Menu
shell:Common AppData
shell:ProgramFilesCommonX64
shell:PhotoAlbums
shell:ProgramFilesX64
shell:ConnectionsFolder
shell:Administrative Tools
shell:ThisPCDesktopFolder
shell:OneDriveCameraRoll
shell:PrintersFolder
shell:DocumentsLibrary
shell:ProgramFilesX86
shell:Searches
shell:Local Downloads
shell:SearchTemplatesFolder
shell:Common Startup
shell:ControlPanelFolder
shell:SendTo
shell:ResourceDir
shell:ProgramFiles
shell:CredentialManager
shell:PrintHood
shell:MAPIFolder
shell:HomeGroupCurrentUserFolder
shell:User Pinned
shell:CD Burning
shell:Local Music
shell:UsersLibrariesFolder
shell:AppUpdatesFolder
shell:Application Shortcuts
shell:Common Start Menu
shell:Common Start Menu Places
shell:LocalAppDataLow
shell:OneDrive
shell:Templates
shell:Programs
shell:PicturesLibrary
shell:Roamed Tile Images
shell:Camera Roll
shell:Recent
shell:Desktop
shell:Virtual Machines
shell:CommonPictures
shell:RecycleBinFolder
shell:Screenshots
shell:CryptoKeys
shell:Common Templates
shell:Startup
shell:ImplicitAppShortcuts
shell:UserProgramFilesCommon
shell:Links
shell:OEM Links
shell:OneDriveMusic
shell:Common Desktop
shell:NetHood
shell:Ringtones
shell:Games
shell:Common Administrative Tools
shell:NetworkPlacesFolder
shell:SystemX86
shell:History
shell:Development Files
shell:AddNewProgramsFolder
shell:Playlists
shell:ProgramFilesCommonX86
shell:PublicGameTasks
shell:ChangeRemoveProgramsFolder
shell:Public
shell:SavedPicturesLibrary
shell:CommonRingtones
shell:Common Documents
shell:Captures
shell:CSCFolder
shell:Local AppData
shell:StartMenuAllPrograms
shell:Windows
shell:UsersFilesFolder
shell:Local Documents
shell:ProgramFilesCommon
shell:Fonts
shell:Personal

Complete list of Shell: commands in Windows 8

shell:AccountPictures
shell:Roaming Tiles
shell:Common Programs
shell:PublicAccountPictures
shell:GameTasks
shell:UserProfiles
shell:MyComputerFolder
shell:SearchHistoryFolder
shell:SyncSetupFolder
shell:DpapiKeys
shell:Favorites
shell:My Video
shell:SearchHomeFolder
shell:RecordedTVLibrary
shell:System
shell:Libraries
shell:ThisDeviceFolder
shell:AppsFolder
shell:MusicLibrary
shell:CommonVideo
shell:SkyDriveDocuments
shell:SyncResultsFolder
shell:Cookies
shell:Original Images
shell:CommonMusic
shell:SkyDrivePictures
shell:My Pictures
shell:Cache
shell:Downloads
shell:CommonDownloads
shell:AppData
shell:SyncCenterFolder
shell:PublicLibraries
shell:VideosLibrary
shell:My Music
shell:ConflictFolder
shell:SavedGames
shell:InternetFolder
shell:HomeGroupFolder
shell:Quick Launch
shell:SystemCertificates
shell:Contacts
shell:UserProgramFiles
shell:Device Metadata Store
shell:Profile
shell:Start Menu
shell:Common AppData
shell:PhotoAlbums
shell:ConnectionsFolder
shell:Administrative Tools
shell:ThisPCDesktopFolder
shell:SkyDriveCameraRoll
shell:PrintersFolder
shell:DocumentsLibrary
shell:ProgramFilesX86
shell:Searches
shell:SearchTemplatesFolder
shell:Common Startup
shell:ControlPanelFolder
shell:SendTo
shell:ResourceDir
shell:ProgramFiles
shell:CredentialManager
shell:PrintHood
shell:MAPIFolder
shell:HomeGroupCurrentUserFolder
shell:User Pinned
shell:CD Burning
shell:UsersLibrariesFolder
shell:AppUpdatesFolder
shell:Application Shortcuts
shell:Common Start Menu
shell:LocalAppDataLow
shell:OneDrive
shell:Templates
shell:Programs
shell:PicturesLibrary
shell:Roamed Tile Images
shell:Camera Roll
shell:Recent
shell:Desktop
shell:CommonPictures
shell:RecycleBinFolder
shell:Screenshots
shell:CryptoKeys
shell:Common Templates
shell:Startup
shell:ImplicitAppShortcuts
shell:UserProgramFilesCommon
shell:Links
shell:OEM Links
shell:SkyDriveMusic
shell:Common Desktop
shell:NetHood
shell:Ringtones
shell:Games
shell:Common Administrative Tools
shell:NetworkPlacesFolder
shell:SystemX86
shell:History
shell:AddNewProgramsFolder
shell:Playlists
shell:ProgramFilesCommonX86
shell:PublicGameTasks
shell:ChangeRemoveProgramsFolder
shell:Public
shell:CommonRingtones
shell:Common Documents
shell:CSCFolder
shell:Local AppData
shell:StartMenuAllPrograms
shell:Windows
shell:UsersFilesFolder
shell:ProgramFilesCommon
shell:Fonts
shell:Personal

New Shell: commands in Windows 7

In addition to most of the shell commands in Windows Vista, Windows 7 also has these new commands in addition:

shell:Libraries
shell:MusicLibrary
shell:VideosLibrary
shell:OtherUsersFolder
shell:Device Metadata Store
shell:PublicSuggestedLocations
shell:SuggestedLocations
shell:RecordedTVLibrary
shell:UserProgramFiles
shell:DocumentsLibrary
shell:User Pinned
shell:UsersLibrariesFolder
shell:PicturesLibrary
shell:ImplicitAppShortcuts
shell:UserProgramFilesCommon
shell:Ringtones
shell:CommonRingtones

shell: commands in Windows Vista

shell:Common Programs
shell:GameTasks
shell:UserProfiles
shell:MyComputerFolder
shell:SyncSetupFolder
shell:DpapiKeys
shell:SamplePlaylists
shell:Favorites
shell:My Video
shell:SearchHomeFolder
shell:System
shell:CommonVideo
shell:SyncResultsFolder
shell:LocalizedResourcesDir
shell:Cookies
shell:Original Images
shell:CommonMusic
shell:My Pictures
shell:Cache
shell:Downloads
shell:CommonDownloads
shell:AppData
shell:SyncCenterFolder
shell:My Music
shell:ConflictFolder
shell:SavedGames
shell:InternetFolder
shell:Quick Launch
shell:SystemCertificates
shell:Contacts
shell:TreePropertiesFolder
shell:Profile
shell:Start Menu
shell:Common AppData
shell:PhotoAlbums
shell:ConnectionsFolder
shell:Administrative Tools
shell:PrintersFolder
shell:Default Gadgets
shell:ProgramFilesX86
shell:Searches
shell:Common Startup
shell:ControlPanelFolder
shell:SampleVideos
shell:SendTo
shell:ResourceDir
shell:ProgramFiles
shell:CredentialManager
shell:PrintHood
shell:MAPIFolder
shell:CD Burning
shell:AppUpdatesFolder
shell:Common Start Menu
shell:LocalAppDataLow
shell:Templates
shell:Gadgets
shell:Programs
shell:Recent
shell:SampleMusic
shell:Desktop
shell:CommonPictures
shell:RecycleBinFolder
shell:CryptoKeys
shell:Common Templates
shell:Startup
shell:Links
shell:OEM Links
shell:SamplePictures
shell:Common Desktop
shell:NetHood
shell:Games
shell:Common Administrative Tools
shell:NetworkPlacesFolder
shell:SystemX86
shell:History
shell:AddNewProgramsFolder
shell:Playlists
shell:ProgramFilesCommonX86
shell:PublicGameTasks
shell:ChangeRemoveProgramsFolder
shell:Public
shell:Common Documents
shell:CSCFolder
shell:Local AppData
shell:Windows
shell:UsersFilesFolder
shell:ProgramFilesCommon
shell:Fonts
shell:Personal

shell: commands in Windows XP

shell:Common Programs
shell:Favorites
shell:My Video
shell:System
shell:CommonVideo
shell:LocalizedResourcesDir
shell:Cookies
shell:My Pictures
shell:Cache
shell:AppData
shell:My Music
shell:InternetFolder
shell:Profile
shell:Start Menu
shell:Common AppData
shell:ConnectionsFolder
shell:Administrative Tools
shell:PrintersFolder
shell:ProgramFiles
shell:Common Startup
shell:ControlPanelFolder
shell:SendTo
shell:ResourceDir
shell:ProgramFiles
shell:PrintHood
shell:CD Burning
shell:Common Start Menu
shell:Templates
shell:Programs
shell:Recent
shell:Desktop
shell:CommonPictures
shell:RecycleBinFolder
shell:Common Templates
shell:Startup
shell:Common Desktop
shell:NetHood
shell:Common Administrative Tools
shell:SystemX86
shell:History
shell:Common Documents
shell:Local AppData
shell:Windows
shell:Fonts
shell:Personal


Stuart seems to have found a fairly thorough list of the folders; I'll speak to the mechanism behind it. The availability of this feature comes, at least in part, from the Url Moniker feature of Windows (I remember it as a feature of IE, but since they're integrated and all...): see http://msdn.microsoft.com/en-us/library/ms775149.aspx

You can register your own URL Monikers by implementing a COM interface for a moniker provider, and you can also have your app act as a client. http://msdn.microsoft.com/en-us/library/aa741006.aspx

You'll notice that at least some versions of the MSDN client use this feature, and some other old-school browser features like about:blank (which you can navigate to from the shell) depend on that mechanism as well. If I remember correctly, IE depends on wininet.dll's URL Moniker provider implementations to navigate to, for example, http and https sites. (gopher and a few other protocols were also implemented there). It's possible IE uses something more direct, though, as my memories of that era are rather hazy and I was not closely involved.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜