培训
Shell 函数
本部分介绍 Windows Shell 函数。
主题 | 说明 |
---|---|
Intsafe.h Functions |
|
库函数 |
|
路径函数 |
|
AssocCreateForClasses |
检索实现 IQueryAssociations 接口的对象。 |
AssocGetDetailsOfPropKey |
使用命名空间扩展提供的文件关联信息检索给定属性键的值。 |
CDefFolderMenu_Create2 |
为所选的一组文件文件夹对象创建上下文菜单。 |
CommandLineToArgvW |
分析 Unicode 命令行字符串,并返回指向命令行参数的指针数组,以及此类参数的计数,其方式类似于标准 C 运行时 argv 和 argc 值。 |
APPLET_PROC |
用作控制面板应用程序的入口点。 这是库定义的回调函数。 |
CreateAppContainerProfile |
为 Windows 应用商店应用创建每用户、每应用配置文件。 |
CreateEnvironmentBlock |
检索指定用户的环境变量。 然后,可以将此块传递给 CreateProcessAsUser 函数。 |
CreateMRUListW |
创建新的最近使用的 (MRU) 列表。 |
CreateProfile |
创建新的用户配置文件。 |
DefScreenSaverProc |
为屏幕保护程序应用程序未处理的任何消息提供默认处理。 |
DefSubclassProc |
调用窗口子类链中的下一个处理程序。 子类链中的最后一个处理程序调用窗口的原始窗口过程。 |
DeleteAppContainerProfile |
删除指定的按用户、按应用配置文件。 |
DeleteProfile |
从指定计算机中删除用户配置文件和所有用户相关的设置。 调用方必须具有管理权限才能删除用户的配置文件。 |
DestroyEnvironmentBlock |
释放 CreateEnvironmentBlock 函数创建的环境变量。 |
DeriveAppContainerSidFromAppContainerName |
获取指定配置文件的 SID。 |
DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName |
派生RestrictedAppContainerSidFromAppContainerSidAndRestrictedName 保留供将来使用。 |
DLLGETVERSIONPROC |
由许多 Windows Shell DLL 实现,以允许应用程序获取特定于 DLL 的版本信息。 |
DragAcceptFiles |
注册窗口是否接受已删除的文件。 |
DragFinish |
释放系统分配用于将文件名传输到应用程序的内存。 |
DragQueryFile |
检索成功拖放操作导致的已删除文件的名称。 |
DragQueryPoint |
检索拖放操作期间放置文件时鼠标指针的位置。 |
DuplicateIcon |
创建指定图标的副本。 |
ExpandEnvironmentStringsForUser |
使用为指定用户建立的环境块展开源字符串。 |
ExtractAssociatedIcon |
获取存储为文件中资源或存储在文件的关联可执行文件中的图标的句柄。 |
ExtractIcon |
从指定的可执行文件、DLL 或图标文件中获取图标的句柄。 若要检索大型或小图标的句柄数组,请使用 ExtractIconEx 函数。 |
ExtractIconEx |
ExtractIconEx 函数创建从指定可执行文件、DLL 或图标文件中提取的大或小图标的句柄数组。 |
FileIconInit |
初始化或重新初始化系统映像列表。 |
FindExecutable |
检索与特定文档文件关联的可执行文件(.exe)文件的名称和句柄。 |
FreeConfirmConflictItem |
释放已为 CONFIRM_CONFLICT_ITEM 结构分配的资源。 |
FreeIDListArray |
释放指向项标识符列表(PIDL)列表数组的指针使用的内存。 |
FreeIDListArrayChild |
释放指向子项 ID 的指针数组的内存空间。 这会释放数组中的PITEMID_CHILDs和数组本身。 |
FreeIDListArrayFull |
释放 PIDL 数组的内存空间。 这会释放数组中的PIDLIST_ABSOLUTEs和数组本身。 |
FreeKnownFolderDefinitionFields |
从 IKnownFolder::GetFolderDefinition 释放结果中分配的字段。 |
FreeMRUList |
释放与 MRU 列表关联的句柄,并将缓存的数据写入注册表。 |
GetAllUsersProfileDirectory |
检索目录根目录的路径,其中包含所有用户共享的程序数据。 |
GetAppContainerFolderPath |
获取指定应用容器的本地应用数据文件夹的路径。 |
GetAppContainerRegistryLocation |
获取与应用容器关联的注册表存储的位置。 |
GetContractDelegateWindow |
检索已设置为应用主前台窗口的委托的窗口,以便将委托窗口与应用的协定相关联。 如果你是以本机C++编写 Windows 应用商店应用的开发人员,请使用此函数。 |
GetCurrentProcessExplicitAppUserModelID |
检索当前进程的应用程序定义的显式应用程序用户模型 ID(AppUserModelID)。 |
GetDefaultUserProfileDirectory |
检索默认用户配置文件根目录的路径。 |
GetDpiForShellUiComponent |
根据当前刻度系数和PROCESS_DPI_AWARENESS检索由SHELL_UI_COMPONENT占用的每英寸(dpi)点数。 |
GetMenuContextHelpId |
检索与指定菜单关联的帮助上下文标识符。 |
GetProfilesDirectory |
检索存储用户配置文件的根目录的路径。 |
GetProfileType |
检索为当前用户加载的配置文件的类型。 |
GetScaleFactorForDevice |
获取显示设备的首选比例因子。 |
GetScaleFactorForMonitor |
获取特定监视器的规模因子。 此函数替换 GetScaleFactorForDevice。 |
GetUserProfileDirectory |
检索指定用户配置文件的根目录的路径。 |
GetWindowContextHelpId |
检索与指定窗口关联的帮助上下文标识符(如果有)。 |
GetWindowSubclass |
检索指定窗口子类回调的引用数据。 |
IDListContainerIsConsistent |
验证 IDList 的容器结构是否有效。 |
ILAppendID |
将 SHITEMID 结构追加或追加到 ITEMIDLIST 结构。 |
ILClone |
克隆 ITEMIDLIST 结构。 |
ILCloneChild |
克隆子 ITEMIDLIST 结构。 |
ILCloneFirst |
克隆 ITEMIDLIST 结构中的第一个 SHITEMID 结构。 |
ILCloneFull |
克隆完整或绝对 的 ITEMIDLIST 结构。 |
ILCombine |
合并两个 ITEMIDLIST 结构。 |
ILCreateFromPath |
返回 与指定文件路径关联的 ITEMIDLIST 结构。 |
ILFindChild |
确定指定的 ITEMIDLIST 结构是否为另一 ITEMIDLIST 结构的子级。 |
ILFindLastID |
返回指向 ITEMIDLIST 结构中最后一个 SHITEMID 结构的指针。 |
ILFree |
释放 Shell 分配的 ITEMIDLIST 结构。 |
ILGetNext |
检索 ITEMIDLIST 结构中的下一个 SHITEMID 结构。 |
ILGetSize |
返回 ITEMIDLIST 结构的大小(以字节为单位)。 |
ILIsAligned |
验证常量 ITEMIDLIST 是否在指针边界上对齐,该边界是 32 位体系结构上的 DWORD,在 64 位体系结构上是 QWORD。 |
ILIsChild |
验证 PIDL 是否为子 PIDL,它是一个完全具有一个 SHITEMID 的 PIDL。 |
ILIsEmpty |
验证 ITEMIDLIST 结构是否为空。 |
ILIsEqual |
测试二进制比较中两 个 ITEMIDLIST 结构是否相等。 |
ILIsParent |
测试 ITEMIDLIST 结构是否为另一 ITEMIDLIST 结构的父级。 |
ILNext(PCUIDLIST_RELATIVE) |
检索 ITEMIDLIST 结构中的下一个 SHITEMID 结构。 |
ILNext(PUIDLIST_RELATIVE) |
检索 ITEMIDLIST 结构中的下一个 SHITEMID 结构。 |
ILRemoveLastID |
从 ITEMIDLIST 结构中删除最后一个 SHITEMID 结构。 |
ILSaveToStream |
将 ITEMIDLIST 结构保存到流。 |
ILSkip(PCUIDLIST_RELATIVE,UINT) |
跳过常量、无对齐的相对 ITEMIDLIST 结构中的给定字节数。 |
ILSkip(PUIDLIST_RELATIVE,UINT) |
跳过未对齐的相对 ITEMIDLIST 结构中的给定字节数。 |
InetIsOffline |
确定系统是否连接到 Internet。 |
InitNetworkAddressControl |
初始化网络地址控制窗口类。 |
LoadUserProfile |
加载指定的用户配置文件。 配置文件可以是 本地用户配置文件 或 漫游用户配置文件。 |
MIMEAssociationDialog |
运行未注册的 MIME 内容类型对话框。 注意: Windows XP Service Pack 2(SP2)或更高版本:不再支持此函数。 |
PathMakeUniqueName |
从模板创建唯一的路径名称。 |
PathYetAnotherMakeUniqueName |
基于现有文件名创建唯一的文件名。 |
RegisterAppStateChangeNotification |
使应用能够注册回调函数,通过该函数可以通知其库进入或退出挂起状态。 应用可以使用此信息执行任何必要的操作,例如保留状态,应在该点执行。 |
RegisterDialogClasses |
注册屏幕保护程序配置对话框所需的任何非标准窗口类。 |
RegisterScaleChangeEvent |
注册在缩放可能已更改时触发的事件。 此函数替换 RegisterScaleChangeNotifications。 |
RegisterScaleChangeNotifications |
注册一个窗口,以在缩放信息更改时接收回调。 注意: 从 Windows 8.1 开始,此函数不受支持。 请改用 RegisterScaleChangeEvent。 |
RemoveWindowSubclass |
从窗口中删除子类回调。 |
RevokeScaleChangeNotifications |
撤销窗口的注册,防止它在缩放信息更改时接收回调。 注意: 从 Windows 8.1 开始,此函数不受支持。 请改用 UnregisterScaleChangeEvent。 |
ScreenSaverConfigureDialog |
接收发送到屏幕保护程序配置对话框的消息。 允许用户配置的屏幕保护程序必须定义此函数。 |
ScreenSaverProc |
接收发送到指定屏幕保护程序窗口的消息。 |
SetContractDelegateWindow |
将除主前台窗口以外的应用窗口与应用的合约相关联。 如果你是以本机C++编写 Windows 应用商店应用的开发人员,请使用此函数。 |
SetCurrentProcessExplicitAppUserModelID |
指定唯一的应用程序定义 AppUserModelID,用于标识任务栏的当前进程。 此标识符允许应用程序将其关联的进程和窗口分组到单个任务栏按钮下。 |
SetMenuContextHelpId |
将帮助上下文标识符与菜单相关联。 |
SetWindowContextHelpId |
将帮助上下文标识符与指定的窗口相关联。 |
SetWindowSubclass |
安装或更新窗口子类回调。 |
SHAddToRecentDocs |
通知系统已访问某个项,以便跟踪最近和最常使用的项。 此函数还可用于清除所有使用情况数据。 |
SHAppBarMessage |
将应用栏消息发送到系统。 |
SHAssocEnumHandlers |
返回一组指定的文件扩展名处理程序的枚举对象。 |
SHAssocEnumHandlersForProtocolByApplication |
获取一个枚举接口,该接口提供对与给定协议关联的处理程序的访问权限。 |
SHBindToFolderIDListParent |
给定以文件夹形式指定的 Shell 命名空间项以及相对于该文件夹的项目标识符列表,此函数绑定到命名空间项的父项,并选择性地返回指向项标识符列表的最终组件的指针。 |
SHBindToFolderIDListParentEx |
通过允许调用方指定绑定上下文, 扩展 SHBindToFolderIDListParent 函数。 |
SHBindToObject |
使用 Shell 命名空间 IShellFolder::BindToObject 方法检索并绑定到指定对象。 |
SHBindToParent |
获取指向完全限定项标识符列表(PIDL)的指针,并在父对象上返回指定的接口指针。 |
SHBrowseForFolder |
显示一个对话框,使用户能够选择 Shell 文件夹。 |
SHChangeNotification_Lock |
锁定与 Shell 更改通知事件关联的共享内存。 |
SHChangeNotification_Unlock |
解锁更改通知的共享内存。 |
SHChangeNotify |
通知系统应用程序已执行的事件。 如果应用程序执行可能影响 Shell 的操作,应用程序应使用此函数。 |
SHChangeNotifyDeregister |
从接收 SHChangeNotify 消息中注销客户端的窗口进程。 |
SHChangeNotifyRegister |
如果文件系统支持通知,则注册一个窗口以接收来自文件系统或 Shell 的通知。 |
SHChangeNotifyRegisterThread |
启用线程的异步注册和取消注册。 |
SHCreateAssociationRegistration |
基于 Windows 提供的接口的库存实现创建 IApplicationAssociationRegistration 对象。 |
SHCreateDataObject |
在父文件夹中创建数据对象。 |
SHCreateDefaultContextMenu |
创建一个对象,该对象表示 Shell 的默认上下文菜单实现。 |
SHCreateDefaultExtractIcon |
创建标准图标提取程序,其默认值可以通过 IDefaultExtractIconInit 接口进一步配置。 |
SHCreateDefaultPropertiesOp |
创建一个文件操作,用于设置尚未设置的 Shell 项的默认属性。 |
SHCreateItemFromIDList |
从 PIDL 创建和初始化 Shell 项对象。 生成的 shell 项对象支持 IShellItem 接口。 |
SHCreateItemFromParsingName |
创建并初始化分析名称中的 Shell 项对象。 |
SHCreateItemFromRelativeName |
从相对分析名称创建和初始化 Shell 项对象。 |
SHCreateItemInKnownFolder |
为已知文件夹中存在的单个文件创建 Shell 项对象。 |
SHCreateItemWithParent |
创建 Shell 项,给定父文件夹和子项 ID。 |
SHCreateShellFolderView |
创建默认 Shell 文件夹视图对象(DefView)的新实例。 |
SHCreateShellFolderViewEx |
创建默认 Shell 文件夹视图对象的新实例。 建议使用 SHCreateShellFolderView 而不是此函数。 |
SHCreateShellItem |
创建 IShellItem 对象。 注意:建议使用 SHCreateItemWithParent 或 SHCreateItemFromIDList 而不是此函数。 |
SHCreateShellItemArray |
创建 Shell 项数组对象。 |
SHCreateShellItemArrayFromDataObject |
从数据对象创建 Shell 项数组对象。 |
SHCreateShellItemArrayFromIDLists |
从 ITEMIDLIST 结构列表创建 Shell 项数组对象。 |
SHCreateShellItemArrayFromShellItem |
从单个 Shell 项创建一个元素的数组。 |
SHDefExtractIcon |
提供用于从文件中提取图标的默认处理程序。 |
SHDoDragDrop |
执行拖放操作。 支持按需拖动源创建,以及拖动图像。 |
Shell_NotifyIcon |
将消息发送到任务栏的状态区域。 |
Shell_NotifyIconGetRect |
获取通知图标的边界矩形的屏幕坐标。 |
ShellAbout |
显示 ShellAbout 对话框。 |
ShellDDEInit |
在当前进程中注册 Shell 动态数据交换(DDE)服务,通知系统当前进程希望托管 DDE 对象。 |
ShellExecute |
对指定文件执行操作。 |
ShellExecuteEx |
对指定文件执行操作。 |
SHEmptyRecycleBin |
清空指定驱动器上的回收站。 |
SHEnumerateUnreadMailAccounts |
枚举具有未读电子邮件的用户帐户。 |
SHEvaluateSystemCommandTemplate |
强制严格验证对 CreateProcess 或 ShellExecute 调用中使用的参数。 |
SHFileOperation |
复制、移动、重命名或删除文件系统对象。 此函数已在 Windows Vista 中由 IFileOperation 替换。 |
SHFreeNameMappings |
释放 SHFileOperation 函数检索的文件名映射对象。 |
SHGetDataFromIDList |
从相对标识符列表中检索扩展属性数据。 |
SHGetDesktopFolder |
检索桌面文件夹的 IShellFolder 接口,该接口是 Shell 命名空间的根目录。 |
SHGetDiskFreeSpaceEx |
检索磁盘卷的磁盘空间信息。 |
SHGetDriveMedia |
返回给定驱动器中的媒体类型。 |
SHGetFileInfo |
检索文件系统中有关对象的信息,例如文件、文件夹、目录或驱动器根目录。 |
SHGetFolderPathEx |
检索由文件夹的 KNOWNFOLDERID 标识的已知文件夹的完整路径。 这通过允许设置字符串缓冲区的初始大小来扩展 SHGetKnownFolderPath。 |
SHGetIconOverlayIndex |
返回系统图像列表中的覆盖图标的索引。 |
SHGetIDListFromObject |
检索对象的 PIDL。 |
SHGetImageList |
检索图像列表。 |
SHGetInstanceExplorer |
检索允许托管 Shell 扩展和其他组件提前关闭其主机进程的接口。 主机进程通常是 Windows 资源管理器或 Windows Internet Explorer,但其他应用程序也可以使用此函数。 |
SHGetItemFromDataObject |
基于 IDataObject 指定的项创建 IShellItem 或相关对象。 |
SHGetItemFromObject |
检索对象的 IShellItem。 |
SHGetKnownFolderIDList |
检索名为 ITEMIDLIST 结构的已知文件夹的路径。 |
SHGetKnownFolderItem |
检索表示已知文件夹的 IShellItem 对象。 |
SHGetKnownFolderPath |
检索由文件夹的 KNOWNFOLDERID 标识的已知文件夹的完整路径。 |
SHGetLocalizedName |
检索 Shell 文件夹中文件的本地化名称。 |
SHGetNameFromIDList |
检索 IDList 标识的项的显示名称。 |
SHGetNameFromPropertyKey |
根据属性的 PROPERTYKEY 检索属性的规范名称。 |
SHGetNewLinkInfo |
根据快捷方式的建议目标为新快捷方式创建名称。 此函数不创建快捷方式,仅创建名称。 |
SHGetPathFromIDList |
将项标识符列表转换为文件系统路径。 |
SHGetPathFromIDListEx |
将项标识符列表转换为文件系统路径。 此函数通过允许设置字符串缓冲区的初始大小并声明以下选项来扩展 SHGetPathFromIDList。 |
SHGetSettings |
检索当前的 Shell 选项设置。 |
SHGetStockIconInfo |
检索有关系统定义的 Shell 图标的信息。 |
SHGetTemporaryPropertyForItem |
检索给定项的临时属性。 临时属性是一个读/写存储区,它只保存 IShellItem 对象的生存期的属性,而不是持久保存到项中。 |
SHGetUnreadMailCount |
检索任何或所有电子邮件帐户的指定用户未读邮件计数。 |
SHIsFileAvailableOffline |
确定文件或文件夹是否可用于脱机使用。 此函数还确定文件是从网络、本地脱机文件缓存还是从这两个位置打开。 |
SHLoadInProc |
从 Shell 进程的上下文中创建指定对象类的实例。 Windows Vista 及更高版本:此函数已被禁用并返回E_NOTIMPL。 |
SHLoadNonloadedIconOverlayIdentifiers |
向 Shell 发出信号,在下次需要覆盖信息的操作中,它应加载图标覆盖标识符,这些标识符要么创建失败,要么在启动时没有创建。 已加载的标识符不受影响。 |
SHLocalStrDup |
在新分配的内存中复制字符串。 |
SHMultiFileProperties |
显示一组文件的合并属性表。 显示所有文件的通用属性值,而不同的属性值显示字符串(多个值)。 |
SHOpenFolderAndSelectItems |
打开一个 Windows 资源管理器窗口,其中选定了特定文件夹中的指定项目。 |
SHOpenWithDialog |
显示“ 打开时使用 ”对话框。 |
ShowShareFolderUI |
显示 指定文件夹的属性表上的“文件夹共享 ”选项卡。 |
SHParseDisplayName |
将 Shell 命名空间对象的显示名称转换为项标识符列表,并返回对象的属性。 此函数是将字符串转换为 PIDL 的首选方法。 |
SHPathPrepareForWrite |
检查路径是否存在。 这包括重新装载映射的网络驱动器、提示重新插入可弹出媒体、创建路径、提示媒体进行格式化,并在必要时提供适当的用户界面。 不会检查介质的读/写权限。 |
SHQueryRecycleBin |
检索指定驱动器的回收站大小及其项数。 |
SHQueryUserNotificationState |
检查计算机的当前用户的状态,以确定发送通知是否合适。 |
SHRemoveLocalizedName |
删除 Shell 文件夹中文件的本地化名称。 |
SHRunControlPanel |
打开控制面板项。 注意: 从 Windows Vista 开始,此函数不受支持 |
SHSetDefaultProperties |
对 Shell 项应用默认属性集。 |
SHSetInstanceExplorer |
提供一个接口,该接口允许托管 Shell 扩展和其他组件防止其主机进程过早关闭。 主机进程通常是 Windows Explorer 或 Internet Explorer,但其他应用程序也可以使用此函数。 |
SHSetKnownFolderPath |
将已知文件夹重定向到新位置。 |
SHSetLocalizedName |
设置 Shell 文件夹中文件的本地化名称。 |
SHSetTemporaryPropertyForItem |
设置指定项的临时属性。 临时属性保存在只读/写入存储区中,该存储仅在 IShellItem 对象的生存期内保存属性,而不是将它们写回到项目中。 |
SHSetUnreadMailCount |
将当前用户的未读邮件计数存储在注册表中的指定电子邮件帐户。 |
SHTestTokenMembership |
使用 CheckTokenMembership 测试给定令牌是否是具有指定 RID 的本地组的成员。 |
SHUpdateImage |
通知 Shell 系统映像列表中的映像已更改。 |
SoftwareUpdateMessageBox |
显示可用于通知用户应用程序已更新的标准消息框。 |
StgMakeUniqueName |
从模板为流或存储对象创建唯一名称。 |
StrStrNIW |
查找字符串中子字符串的第一个匹配项。 比较不区分大小写。 |
StrStrNW |
查找字符串中子字符串的第一个匹配项。 比较是区分大小写的。 |
TranslateURL |
将常见翻译应用于给定的 URL 字符串,并创建新的 URL 字符串。 |
UnloadUserProfile |
卸载 LoadUserProfile 函数加载的用户配置文件。 调用方必须在计算机上拥有管理权限。 有关详细信息,请参阅 LoadUserProfile 函数的“备注”部分。 |
UnregisterAppStateChangeNotification |
取消通过 RegisterAppStateChangeNotification 注册的更改通知。 |
UnregisterScaleChangeEvent |
取消注册通过 RegisterScaleChangeEvent 注册的规模更改事件。 此函数替换 RevokeScaleChangeNotifications。 |
URLAssociationDialog |
调用未注册的 URL 协议对话框。 此对话框允许用户选择与以前未知的协议关联的应用程序。 注意: Windows XP SP2 或更高版本:不再支持此函数。 |
WinExecError |
检索 WinExec 函数无法运行指定应用程序时生成的错误值。 |
WinHelp |
启动 Windows 帮助(Winhelp.exe)并传递指示应用程序请求的帮助性质的其他数据。 |