Shell 函式

本節說明 Windows Shell 函式。

本節內容

主題 說明
Intsafe.h Functions
程式庫函式
路徑函式
AssocCreateForClasses
擷取實作 IQueryAssociations 介面的物件
AssocGetDetailsOfPropKey
使用命名空間延伸模組所提供的檔案關聯資訊,擷取指定屬性索引鍵的值。
CDefFolderMenu_Create2
為選取的檔案資料夾物件群組建立操作功能表。
CommandLineToArgvW
剖析 Unicode 命令行字串,並傳回命令行自變數的指標陣列,以及這類自變數的計數,類似於標準 C 運行時間 argvargc 值。
APPLET_PROC
做為 控制台 應用程式的進入點。 這是連結庫定義的回呼函式。
CreateAppContainerProfile
建立適用於 Windows 市集應用程式的每個使用者、個別應用程式配置檔。
CreateEnvironmentBlock
擷取指定用戶的環境變數。 此區塊接著可以傳遞至 CreateProcessAsUser 函 式。
CreateMRUListW
建立新的最近使用 (MRU) 清單。
CreateProfile
建立新的使用者配置檔。
DefScreenSaverProc
提供螢幕保護應用程式未處理之任何訊息的默認處理。
DefSubclassProc
呼叫視窗子類別鏈結中的下一個處理程式。 子類別鏈結中的最後一個處理程式會呼叫視窗的原始視窗程式。
DeleteAppContainerProfile
刪除指定的個別使用者、個別應用程式配置檔。
DeleteProfile
從指定的計算機刪除使用者配置檔和所有使用者相關設定。 呼叫端必須具有系統管理許可權,才能刪除使用者的配置檔。
DestroyEnvironmentBlock
釋放 CreateEnvironmentBlock 函式所建立的環境變數。
DeriveAppContainerSidFromAppContainerName
取得指定配置檔的 SID。
DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName
DeriveRestrictedAppContainerSidFromAppContainerSidAndRestrictedName 保留供日後使用。
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
釋放子項目標識碼指標數位的記憶體空間。 這會釋放數位內PITEMID_CHILDs和陣列本身。
FreeIDListArrayFull
釋放 PIDL 陣列的記憶體空間。 這會釋放數位內PIDLIST_ABSOLUTEs和數位本身。
FreeKnownFolderDefinitionFields
IKnownFolder::GetFolderDefinition 釋放結果中的已配置字段。
FreeMRUList
釋放與 MRU 清單相關聯的句柄,並將快取的數據寫入登錄。
GetAllUsersProfileDirectory
擷取目錄根目錄的路徑,其中包含所有用戶共用的程序數據。
GetAppContainerFolderPath
取得指定之應用程式容器之本機應用程式資料夾的路徑。
GetAppContainerRegistryLocation
取得與應用程式容器相關聯的登錄記憶體位置。
GetContractDelegateWindow
擷取已設定為應用程式主要前景視窗委派的視窗,以便將委派視窗與應用程式的合約產生關聯。 如果您是以原生C++撰寫 Windows 市集應用程式的開發人員,請使用此函式。
GetCurrentProcessExplicitAppUserModelID
擷取目前進程的應用程式定義明確應用程式使用者模型標識碼 (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
判斷系統是否連線到因特網。
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
將 appbar 訊息傳送至系統。
SHAssocEnumHandlers
傳回指定之擴展名處理程式集的列舉物件。
SHAssocEnumHandlersForProtocolByApplication
取得列舉介面,提供與指定通訊協定相關聯之處理程式的存取權。
SHBindToFolderIDListParent
指定以資料夾形式指定的Shell命名空間專案,以及相對於該資料夾的專案標識碼清單,此函式會系結至命名空間專案的父代,並選擇性地傳回專案標識碼清單最後元件的指標。
SHBindToFolderIDListParentEx
允許呼叫端指定系結內容,以擴充SHBindToFolderIDListParent函式。
SHBindToObject
使用 Shell 命名空間 IShellFolder::BindToObject 方法擷取並系結至指定的物件。
SHBindToParent
取得完整項目標識碼清單 (PIDL) 的指標,並在父對象上傳回指定的介面指標。
SHBrowseForFolder
顯示對話框,讓用戶能夠選取Shell資料夾。
SHChangeNotification_Lock
鎖定與Shell變更通知事件相關聯的共享記憶體。
SHChangeNotification_Unlock
解除鎖定變更通知的共享記憶體。
SHChangeNotify
通知系統應用程式已執行的事件。 如果應用程式執行可能會影響殼層的動作,應用程式應該使用此函式。
SHChangeNotifyDeregister
取消註冊客戶端的窗口進程,以接收 SHChangeNotify 訊息。
SHChangeNotifyRegister
如果文件系統支援通知,請註冊視窗以接收文件系統或殼層的通知。
SHChangeNotifyRegisterThread
啟用線程的異步註冊和取消註冊。
SHCreateAssociationRegistration
根據 Windows 提供的介面的庫存實作,建立 IApplicationAssociationRegistration 物件。
SHCreateDataObject
在父資料夾中建立資料物件。
SHCreateDefaultContextMenu
建立 物件,此物件表示Shell的預設操作功能表實作。
SHCreateDefaultExtractIcon
建立標準圖示擷取器,其預設值可透過 IDefaultExtractIconInit 介面進一步設定。
SHCreateDefaultPropertiesOp
建立檔案作業,在尚未設定的Shell項目上設定預設屬性。
SHCreateItemFromIDList
從 PIDL 建立和初始化 Shell 項目物件。 產生的殼層項目物件支援 IShellItem 介面。
SHCreateItemFromParsingName
從剖析名稱建立並初始化殼層項目物件。
SHCreateItemFromRelativeName
從相對剖析名稱建立並初始化 Shell 項目物件。
SHCreateItemInKnownFolder
針對存在於已知資料夾內的單一檔案,建立Shell項目物件。
SHCreateItemWithParent
建立Shell專案,並提供父資料夾和子專案標識碼。
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
擷取介面,允許裝載殼層延伸模組和其他元件防止其主機進程過早關閉。 主機進程通常是 Windows Explorer 或 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
擷取系統定義殼層圖示的相關信息。
SHGetTemporaryPropertyForItem
擷取指定專案的暫存屬性。 暫存屬性是一個讀取/寫入存放區,該存放區只保留 IShellItem 物件的存留期屬性,而不是保存回專案。
SHGetUnreadMailCount
擷取任何或所有電子郵件帳戶的指定使用者未讀取訊息計數。
SHIsFileAvailableOffline
判斷檔案或資料夾是否可供離線使用。 此函式也會判斷檔案是從網路、本機脫機檔案快取開啟,還是從這兩個位置開啟。
SHLoadInProc
從 Shell 進程的內容中,建立指定之物件類別的實例。
Windows Vista 和更新版本:此函式已停用並傳回E_NOTIMPL。
SHLoadNonloadedIconOverlayIdentifiers
發出命令介面的訊號,表示在下一個需要重疊資訊的作業期間,它應該載入圖示重疊標識碼,這些標識元可能是建立失敗,或不是在啟動時建立的。 已載入的標識碼不會受到影響。
SHLocalStrDup
在新配置的記憶體中建立字串的複本。
SHMultiFileProperties
顯示一組檔案的合併屬性表。 所有檔案通用的屬性值會顯示,而不同的屬性值會顯示字串 (多個值)。
SHOpenFolderAndSelectItems
開啟 Windows 檔案總管視窗,其中已選取特定資料夾中的指定專案。
SHOpenWithDialog
顯示 [ 開啟方式] 對話框。
ShowShareFolderUI
在指定資料夾的屬性工作表上顯示 [ 資料夾共用 ] 索引標籤。
SHParseDisplayName
將Shell命名空間對象的顯示名稱轉譯為專案識別碼清單,並傳回物件的屬性。 此函式是將字串轉換成 PIDL 的慣用方法。
SHPathPrepareForWrite
檢查路徑是否存在。 這包括重新掛接對應的網路驅動器機、提示重新插入可退出媒體、建立路徑、提示媒體格式化,以及視需要提供適當的使用者介面。 不會檢查媒體的讀取/寫入許可權。
SHQueryRecycleBin
擷取指定磁碟驅動器的回收站大小及其項目數目。
SHQueryUserNotificationState
檢查計算機的目前用戶狀態,以判斷傳送通知是否適當。
SHRemoveLocalizedName
拿掉 Shell 資料夾中檔案的當地語系化名稱。
SHRunControlPanel
開啟 控制台專案。
注意: Windows Vista 不支援此函式
SHSetDefaultProperties
在 Shell 專案上套用預設的屬性集。
SHSetInstanceExplorer
提供介面,允許裝載的殼層延伸模組和其他元件防止其主機進程過早關閉。 主機進程通常是 Windows Explorer 或 Internet Explorer,但其他應用程式也可以使用此函式。
SHSetKnownFolderPath
將已知資料夾重新導向至新位置。
SHSetLocalizedName
設定 Shell 資料夾中檔案的當地語系化名稱。
SHSetTemporaryPropertyForItem
設定指定專案的暫存屬性。 暫存屬性會保留在讀取/寫入存放區中,該存放區只保留 IShellItem 物件的存留期屬性,而不是將它們寫回專案。
SHSetUnreadMailCount
將目前使用者的未讀取訊息計數儲存在登錄中指定的電子郵件帳戶。
SHTestTokenMembership
使用 CheckTokenMembership 來測試指定的 TOKEN 是否為具有指定 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),並傳遞其他數據,指出應用程式所要求說明的本質。