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 |
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),並傳遞其他數據,指出應用程式所要求說明的本質。 |