|
|
|
Windows Shell |
|
Shell Functions |
|
|
AddMRUStringW |
SHCreateDirectoryEx SHCreatePropSheetExtArray SHCreateQueryCancelAutoPlayMoniker SHCreateShellFolderView SHCreateShellFolderViewEx SHCreateShellItem SHCreateStdEnumFmtEtc SHDefExtractIcon SHDestroyPropSheetExtArray SHDoDragDrop Shell_GetCachedImageIndex Shell_GetImageLists Shell_MergeMenus Shell_NotifyIcon ShellAbout ShellExecute ShellExecuteEx SHGetFolderPath |
|
AddMRUStringW |
|
Adds a string to the top of the most recently used (MRU) list.
This function is not
included in a public header or library. It can be accessed through
GetProcAddress or extracted from
comctl32.dll by its ordinal, which is 401 for AddMRUStringW. |
|
DECLARE FUNCTION AdMRUStringW ( _ BYVAL hMru AS DWORD, _ BYREF szString AS ANY _ )
AS LONG |
|
CallCPLEntry16 |
|
Provided for backward
compatibility. |
|
DECLARE FUNCTION CallCPLEntry16 _ LIB "SHELL32.DLL" _ ALIAS "CallCPLEntry16" ( _ BYVAL hInst AS DWORD, _ BYVAL lpfnEntry AS DWORD, _ BYVAL hwndCPL AS DWORD, _ BYVAL msg AS DWORD, _ BYVAL lParam1 AS LONG, _ BYREF lParam2 AS LONG _ ) AS LONG
|
|
CanShareFolderW |
|
Used to determine whether to show the Share this folder option in web view.
This function has no
associated .lib file. You must use LoadLibrary and GetProcAddress
to use it. |
|
DECLARE FUNCTION CanShareFolderW (BYVAL pszPath AS DWORD) AS LONG
|
|
CDefFolderMenu_Create2 |
|
Creates a context
menu for a selected group of file folder objects. |
|
DECLARE FUNCTION CDefFolderMenu_Create2 _ LIB "SHELL32.DLL" _ ALIAS "CDefFolderMenu_Create2" ( _ BYREF pidlFolder AS ANY, _ BYVAL hwnd AS DWORD, _ BYVAL cidl AS DWORD, _ BYREF apidl AS ANY, _ BYVAL psf AS DWORD, _ BYVAL lpfn AS DWORD, _ BYVAL nKeys AS DWORD, _ BYVAL ahkeyClsKeys AS DWORD, _ BYREF ppcm AS DWORD _ )
AS LONG |
|
CIDLData_CreateFromIDArray |
|
Create a data object
with the default Vtable pointer. |
|
DECLARE FUNCTION CIDLData_CreateFromIDArray _ LIB "SHELL32.DLL" _ ALIAS "CIDLData_CreateFromIDArray" ( _ BYREF pidlFolder AS ANY, _ BYVAL cidl AS DWORD, _ BYREF apidl AS ANY, _ BYREF ppdtobj AS DWORD _ )
AS LONG |
|
CommandLineToArgW |
|
Accepts a single
command-line string and returns an array of null-terminated strings
containing the individual arguments found in that command line. |
|
DECLARE FUNCTION CommandLineToArgvW _ LIB "SHELL32.DLL" _ ALIAS "CommandLineToArgvW" ( _ BYREF lpCmdLine AS ANY, _ BYREF pNumArgs AS LONG _ )
AS DWORD |
|
CPIApplet |
|
Library-defined callback function that serves as the entry point for a Control Panel application.
Implementers of
Control Panel items must also implement this function. No default
implementation is available. |
|
DECLARE FUNCTION CPIApplet ( _ BYVAL hwndCPI AS DWORD, _ BYVAL uMsg AS DWORD, _ BYVAL lParam1 AS LONG, _ BYVAL lParam2 AS LONG _ )
AS LONG |
|
CreateHardwareEventMoniker |
|
Creates a moniker representing a hardware component and its associated event handler. AutoPlay uses this to allow applications to use AutoPlay events.
Note that
CreateHardwareEventMoniker is not defined in a header file. To use it in
your code, you must obtain a handle to the Shsvcs.dll file through a call to
LoadLibrary. You then use that handle in a call to GetProcAddress
to obtain an instance of the CreateHardwareEventMoniker function. |
|
DECLARE FUNCTION CreateHardwareEventMoniker ( _ BYREF rclsid AS GUID, _ BYREF pszEventHandler AS ASCIIZ, _ BYREF ppmoniker AS DWORD _ )
AS LONG |
|
CreateMRUListW |
|
Creates a new most recently used (MRU) list.
This function is not
included in a public header or library. It can be accessed through
GetProcAddress or extracted from comctl32.dll by its ordinal, which is
400 for CreateMRUListW. |
|
DECLARE FUNCTION
CreateMRUListW (BYREF
lpmi AS MRUINFO)
AS LONG |
|
DAD_AutoScroll |
|
Scrolls the window
while an image is being dragged. |
|
DECLARE FUNCTION DAD_AutoScroll _ LIB "SHELL32.DLL" _ ALIAS "DAD_AutoScroll" ( _ BYVAL hwnd AS DWORD, _ BYREF pad AS AUTO_SCROLL_DATA, _ BYREF pptNow AS POINTAPI _ )
AS LONG |
|
DAD_DragEnterEx |
|
Locks updates to the
specified window during a drag operation and displays the drag image at the
specified position within the window. |
|
DECLARE FUNCTION DAD_DragEnterEx _ LIB "SHELL32.DLL" _ ALIAS "DAD_DragEnterEx" ( _ BYVAL hwndTarget AS DWORD, _ BYREF ptStart AS POINTAPI _ )
AS LONG |
|
DAD_DragEnterEx2 |
|
Locks updates to the
specified window during a drag operation and displays the drag image at the
specified position within the window. |
|
DECLARE FUNCTION DAD_DragEnterEx2 _ LIB "SHELL32.DLL" _ ALIAS "DAD_DragEnterEx2" ( _ BYVAL hwndTarget AS DWORD, _ BYREF ptStart AS POINTAPI, _ BYVAL pdtObject AS DWORD _ )
AS LONG |
|
DAD_DragLeave |
|
Unlocks the window
locked by the DAD_DragEnterEx function. |
|
DECLARE FUNCTION
DAD_DragLeave
LIB "SHELL32.DLL"
ALIAS
"DAD_DragLeave" ()
AS LONG |
|
DAD_DragMove |
|
Moves the image that
is being dragged during a drag-and-drop operation. |
|
DECLARE FUNCTION DAD_DragMove _ LIB "SHELL32.DLL" _ ALIAS "DAD_DragMove" ( _ BYREF ptStart AS POINTAPI _ )
AS LONG |
|
DAD_SetDragImage |
|
Moves the image that
is being dragged during a drag-and-drop operation. |
|
DECLARE FUNCTION DAD_SetDragImage _ LIB "SHELL32.DLL" _ ALIAS "DAD_SetDragImage" ( _ BYVAL him AS DWORD, _ BYREF pptOffset AS POINTAPI _ )
AS LONG |
|
DAD_ShowDragImage |
|
Shows or hides the
image being dragged. |
|
DECLARE FUNCTION DAD_ShowDragImage _ LIB "SHELL32.DLL" _ ALIAS "DAD_ShowDragImage" ( _ BYVAL fShow AS LONG _ )
AS LONG |
|
DefSubclassProc |
|
Calls the next
handler in a window's subclass chain. The last handler in the subclass chain
calls the original window procedure for the window. |
|
DECLARE FUNCTION DefSubclassProc _ LIB "COMCTL32.DLL" _ ALIAS "DefSubclassProc" ( _ BYVAL hwnd AS DWORD, _ BYVAL uMsg AS DWORD, _ BYVAL wParam AS DWORD, _ BYVAL lParam AS LONG _ )
AS LONG |
|
DefScreenSaverProc |
|
Provides default
processing for any messages that a screen saver application does not
process. |
|
DECLARE FUNCTION DefScreenSaverProc _ LIB "SCRNSAVE.DLL" _ ALIAS "DefScreenSaverProc" ( _ BYVAL hWnd AS DWORD, _ BYVAL Msg AS DWORD, _ BYVAL wParam AS DWORD, _ BYVAL lParam AS LONG _ )
AS LONG |
|
DllGetVersion |
|
Implemented by many of the Microsoft Windows Shell dynamic-link libraries (DLLs) to allow applications to obtain DLL-specific version information.
This function is not an application programming interface (API). It is exported by name from each DLL that implements it. Currently, most of the Windows Shell and common controls DLLs implement DllGetVersion. These include, but are not limited to, Shell32.dll, Comctl32.dll, Shdocvw.dll, and Shlwapi.dll.
To call this
function, use the LoadLibrary and GetProcAddress functions to
obtain the function pointer. The DLLGETVERSIONPROC type is used as the data
type for the function pointer. This type definition is used to define a
pointer to a DllGetVersion function. This pointer is used when
calling the function dynamically by loading the library and getting the
function's address. See Shell and Common Controls Versions for a
detailed discussion of Shell and common controls versions, and how to use
DllGetVersion. Returns %NOERROR (0) if successful, 1 if LoadLibrary fails, or an OLE-defined error value.
|
|
TYPE
DLLVERSIONINFO LOCAL hLib AS DWORD LOCAL pAddr AS DWORD LOCAL HRESULT AS LONG
pdvi.cbSize = SIZEOF(DLLVERSIONINFO) END
FUNCTION |
|
DoEnvironmentSubst |
|
Parses an input
string containing references to one or more environment variables and
replaces them with their current values. |
|
DECLARE FUNCTION DoEnvironmentSubst _ LIB "SHELL32.DLL" _ ALIAS "DoEnvironmentSubstA" ( _ BYREF szString AS ASCIIZ, _ BYVAL cbString AS DWORD _ )
AS DWORD DECLARE FUNCTION DoEnvironmentSubstW _ LIB "SHELL32.DLL" _ ALIAS "DoEnvironmentSubstW" ( _ BYVAL szString AS DWORD, _ BYVAL cbString AS DWORD _ ) AS DWORD
|
|
DragAcceptFiles |
|
Registers whether a
window accepts dropped files. |
|
DECLARE SUB DragAcceptFiles _ LIB "SHELL32.DLL" _ ALIAS "DragAcceptFiles" ( _ BYVAL hWnd AS DWORD, _ BYVAL fAccept AS LONG _ ) |
|
DragFinish |
|
Releases memory that
the system allocated for use in transferring file names to the application. |
|
DECLARE SUB DragFinish _ LIB "SHELL32.DLL" _ ALIAS "DragFinish" ( _ BYVAL hDrop AS DWORD _ ) |
|
DragQueryFile |
|
Retrieves the names
of dropped files that result from a successful drag-and-drop operation. |
|
DECLARE FUNCTION DragQueryFile _ LIB "SHELL32.DLL" _ ALIAS "DragQueryFileA" ( _ BYVAL hDrop AS DWORD, _ BYVAL uiFile AS DWORD, _ BYREF lpStr AS ASCIIZ, _ BYVAL cch AS DWORD _ )
AS DWORD DECLARE FUNCTION DragQueryFileW _ LIB "SHELL32.DLL" _ ALIAS "DragQueryFileW" ( _ BYVAL hDrop AS DWORD, _ BYVAL uiFile AS DWORD, _ BYVAL lpStr AS DWORD, _ BYVAL cch AS DWORD _ )
AS DWORD |
|
DragQueryPoint |
|
Retrieves the
position of the mouse pointer at the time a file was dropped during a
drag-and-drop operation. |
|
DECLARE FUNCTION DragQueryPoint _ LIB "SHELL32.DLL" _ ALIAS "DragQueryPoint" ( _ BYVAL hDrop AS DWORD, _ BYREF lpPoint AS POINTAPI _ )
AS LONG |
|
DriveType |
|
Retrieves the
position of the mouse pointer at the time a file was dropped during a
drag-and-drop operation. |
|
DECLARE FUNCTION DriveType _ LIB "SHELL32.DLL" _ ALIAS "DriveType" ( _ BYVAL iDrive AS LONG _ )
AS LONG |
|
EnumMRUListW |
|
Enumerates the contents of the most recently used (MRU) list. Optionally retrieves an item from the enumeration.
This function is not
included in a public header or library. It can be accessed through
GetProcAddress or extracted from comctl32.dll by its ordinal, which is
403 for EnumMRUListW. |
|
DECLARE FUNCTION EnumMRUListW ( _ BYVAL hMru AS DWORD, _ BYVAL nItem AS LONG, _ BYREF lPData AS ANY, _ BYVAL uLen AS DWORD _ )
AS LONG |
|
ExtractAssociatedIconEx |
|
Returns a handle to
an indexed icon found in a file or an icon found in an associated executable
file. It extends the ExtractAssociatedIcon function by retrieving the
icon's identifier (ID) when that icon is extracted from an executable file. |
|
DECLARE FUNCTION ExtractAssociatedIconEx _ LIB "SHELL32.DLL" _ ALIAS "ExtractAssociatedIconExA" ( _ BYVAL hInstance AS DWORD, _ BYREF lpIconPath AS ANY, _ BYVAL lpiIconIndex AS WORD, _ BYREF lpiIconId AS WORD _ )
AS LONG DECLARE FUNCTION ExtractAssociatedIconExW _ LIB "SHELL32.DLL" _ ALIAS "ExtractAssociatedIconExW" ( _ BYVAL hInstance AS DWORD, _ BYVAL lpIconPath AS DWORD, _ BYVAL lpiIconIndex AS WORD, _ BYREF lpiIconId AS WORD _ )
AS LONG |
|
FindExecutable |
|
Retrieves the name of
and handle to the executable (.exe) file associated with the specified file
name. |
|
DECLARE FUNCTION FindExecutable _ LIB "SHELL32.DLL" _ ALIAS "FindExecutableA" ( _ BYREF lpFile AS ASCIIZ, _ BYREF lpDirectory AS ASCIIZ, _ BYREF lpResult AS ASCIIZ _ )
AS DWORD DECLARE FUNCTION FindExecutableW _ LIB "SHELL32.DLL" _ ALIAS "FindExecutableW" ( _ BYVAL lpFile AS DWORD, _ BYVAL lpDirectory AS DWORD, _ BYREF lpResult AS DWORD _ ) AS DWORD
|
|
FreeMRUList |
|
Frees the handle associated with the most recently used (MRU) list and writes cached data to the registry.
This function is not
included in a public header or library. It must be extracted from
comctl32.dll by ordinal 152. |
|
DECLARE FUNCTION
FreeMRUList (BYVAL
hMru AS DWORD)
AS LONG |
|
GetFileNameFromBrowse |
|
This function creates
an Open dialog box that lets the user specify the drive, directory,
and name of a file to open. |
|
DECLARE FUNCTION GetFileNameFromBrowse _ LIB "SHELL32.DLL" _ ALIAS "GetFileNameFromBrowse" ( _ BYVAL hwnd AS DWORD, _ BYVAL pszFilePath AS DWORD, _ BYVAL cchFilePath AS DWORD, _ BYVAL pszWorkingDir AS DWORD, _ BYVAL pszDefExt AS DWORD, _ BYVAL pszFilters AS DWORD, _ BYVAL szTitle AS DWORD _ ) AS DWORD
FUNCTION
TB_GetFileNameFromBrowse ( _
LOCAL hr
AS LONG hr =
GetFileNameFromBrowse (hWnd,
STRPTR(bstrFilePath), LEN(bstrFilePath),
_ FUNCTION PBMAIN () AS LONG
LOCAL
strFileName AS STRING
END FUNCTION
|
|
GetMenuContextHelpId |
|
Retrieves the Help
context identifier associated with the specified menu. |
|
DECLARE FUNCTION GetMenuContextHelpId _ LIB "USER32.DLL" _ ALIAS "GetMenuContextHelpId" ( _ BYVAL hmenu AS DWORD _ )
AS DWORD |
|
GetWindowContextHelpId |
|
Retrieves the Help
context identifier, if any, associated with the specified window. |
|
DECLARE FUNCTION GetWindowContextHelpId _ LIB "USER32.DLL" _ ALIAS "GetWindowContextHelpId" ( _ BYVAL hmenu AS DWORD _ )
AS DWORD |
|
GetWindowSubclass |
|
Retrieves the
reference data for the specified window subclass callback. |
|
DECLARE FUNCTION GetWindowSubclass _ LIB "COMCTL32.DLL" _ ALIAS "GetWindowSubclass" ( _ BYVAL hWnd AS DWORD, _ BYVAL pfnSubclass AS DWORD, _ BYVAL uIdSubclass AS DWORD, _ BYREF pdwRefData AS DWORD _ )
AS LONG |
|
ILAppendID |
|
Appends or prepends
an SHITEMID structure to an ITEMIDLIST structure. |
|
DECLARE FUNCTION ILAppendID _ LIB "SHELL32.DLL" _ ALIAS "ILAppendID" ( _ BYVAL pidl AS DWORD, _ BYVAL pmkid AS DWORD, _ BYVAL fAppend AS LONG _ )
AS DWORD |
|
ILClone |
|
Clones an
ITEMIDLIST structure. |
|
DECLARE FUNCTION ILClone _ LIB "SHELL32.DLL" _ ALIAS "ILClone" ( _ BYVAL pidl AS DWORD _ )
AS DWORD |
|
ILCloneFirst |
|
Clones the first
SHITEMID structure in an ITEMIDLIST structure. |
|
DECLARE FUNCTION ILCloneFirst _ LIB "SHELL32.DLL" _ ALIAS "ILCloneFirst" ( _ BYVAL pidl AS DWORD _ )
AS DWORD |
|
ILCombine |
|
Combines two
ITEMIDLIST structures. |
|
DECLARE FUNCTION ILCombine _ LIB "SHELL32.DLL" _ ALIAS "ILCombine" ( _ BYVAL pidl1 AS DWORD, _ BYVAL pidl2 AS DWORD _ )
AS DWORD |
|
ILCreateFromPathW |
|
Returns the
ITEMIDLIST structure associated with a specified file path. |
|
DECLARE FUNCTION ILCreateFromPathW _ LIB "SHELL32.DLL" _ ALIAS "ILCreateFromPathW" ( _ BYVAL pwszPath AS DWORD _ )
AS DWORD |
|
ILFindChild |
|
Determines whether a
specified ITEMIDLIST structure is the child of another ITEMIDLIST
structure. |
|
DECLARE FUNCTION ILFindChild _ LIB "SHELL32.DLL" _ ALIAS "ILFindChild" ( _ BYVAL pidlParent AS DWORD, _ BYVAL pidlChild AS DWORD _ )
AS DWORD |
|
ILFindLastID |
|
Returns a pointer to
the last SHITEMID structure in an ITEMIDLIST structure. |
|
DECLARE FUNCTION ILFindLastID _ LIB "SHELL32.DLL" _ ALIAS "ILFindLastID" ( _ BYVAL pidl AS DWORD _ )
AS DWORD |
|
ILFree |
|
Returns a pointer to
the last SHITEMID structure in an ITEMIDLIST structure. |
|
DECLARE SUB ILFree _ LIB "SHELL32.DLL" _ ALIAS "ILFree" ( _ BYVAL pidl AS DWORD _ ) |
|
ILGetNext |
|
Gets the next
SHITEMID structure in an ITEMIDLIST structure. |
|
DECLARE FUNCTION ILGetNext _ LIB "SHELL32.DLL" _ ALIAS "ILGetNext" ( _ BYVAL pidl AS DWORD _ )
AS DWORD |
|
ILGetSize |
|
Returns the size, in
bytes, of an ITEMIDLIST structure. |
|
DECLARE FUNCTION ILGetSize _ LIB "SHELL32.DLL" _ ALIAS "ILGetSize" ( _ BYVAL pidl AS DWORD _ )
AS DWORD |
|
ILIsEqual |
|
Tests whether two
ITEMIDLIST structures are equal. |
|
DECLARE FUNCTION ILIsEqual _ LIB "SHELL32.DLL" _ ALIAS "ILIsEqual" ( _ BYVAL pidl1 AS DWORD, _ BYVAL pidl2 AS DWORD _ )
AS LONG |
|
ILIsParent |
|
Tests whether an
ITEMIDLIST structure is the parent of another ITEMIDLIST
structure. |
|
DECLARE FUNCTION ILIsParent _ LIB "SHELL32.DLL" _ ALIAS "ILIsParent" ( _ BYVAL pidlParent AS DWORD, _ BYVAL pidlBelow AS DWORD, _ BYVAL fImmediate AS LONG _ )
AS LONG |
|
ILLoadFromParent |
|
Loads an
ITEMIDLIST structure from a stream. |
|
DECLARE FUNCTION ILLoadFromParent _ LIB "SHELL32.DLL" _ ALIAS "ILLoadFromParent" ( _ BYVAL pstm AS DWORD, _ BYREF pidl AS DWORD _ )
AS LONG |
|
ILRemoveLastID |
|
Removes the last
SHITEMID structure from an ITEMIDLIST structure. |
|
DECLARE FUNCTION ILRemoveLastID _ LIB "SHELL32.DLL" _ ALIAS "ILRemoveLastID" ( _ BYVAL pidl AS DWORD _ )
AS LONG |
|
ILSaveToStream |
|
Saves an
ITEMIDLIST structure to a stream. |
|
DECLARE FUNCTION ILSaveToStream _ LIB "SHELL32.DLL" _ ALIAS "ILSaveToStream" ( _ BYVAL pstm AS DWORD, _ BYVAL pidl AS DWORD _ )
AS LONG |
|
InetIsOffLine |
|
Determines whether or
not the system is connected to the Internet. |
|
DECLARE FUNCTION InetIsOffLine _ LIB "URL.DLL" _ ALIAS "InetIsOffLine" ( _ BYVAL dwFlags AS DWORD _ )
AS LONG |
|
IsNetDrive |
|
Tests whether a drive
is a network drive. |
|
DECLARE FUNCTION IsNetDrive _ LIB "SHELL32.DLL" _ ALIAS "IsNetDrive" ( _ BYVAL iDrive AS LONG _ )
AS LONG |
|
IsUserAnAdmin |
|
Tests whether a drive
is a network drive. |
|
DECLARE FUNCTION IsUserAnAdmin _ LIB "SHELL32.DLL" _ ALIAS "IsUserAnAdmin" ( _ )
AS LONG |
|
LinkWindow_RegisterClass |
|
Registers a window
class that allows for the SysLink common control to be used in a
window. |
|
DECLARE FUNCTION LinkWindow_RegisterClass _ LIB "SHELL32.DLL" _ ALIAS "LinkWindow_RegisterClass" ( _ )
AS LONG |
|
LinkWindow_UnregisterClass |
|
Unregisters a window
class registered by LinkWindow_RegisterClass. |
|
DECLARE FUNCTION LinkWindow_UnregisterClass _ LIB "SHELL32.DLL" _ ALIAS "LinkWindow_UnregisterClass" ( _ )
AS LONG |
|
MIMEAssociationDialog |
|
Unregisters a window
class registered by LinkWindow_RegisterClass. |
|
DECLARE FUNCTION MIMEAssociationDialog _ LIB "URL.DLL" _ ALIAS "MIMEAssociationDialog" ( _ BYVAL hwndParent AS DWORD, _ BYVAL dwInFlags AS DWORD, _ BYREF pcszFile AS ASCIIZ, _ BYREF pcszMIMEContentType AS ASCIIZ, _ BYREF pszAppBuf AS ASCIIZ, _ BYVAL ucAppBufLen AS DWORD _ )
AS LONG |
|
NTSHChangeNotificationDeregister |
|
Unregisters the
client's window process from receiving SHChangeNotify. This is the
equivalent of calling the SHChangeNotifyDeregister function. |
|
DECLARE FUNCTION NTSHChangeNotificationDeregister _ LIB "SHELL32.DLL" _ ALIAS "NTSHChangeNotificationDeregister" ( _ BYVAL ulID AS DWORD _ )
AS LONG |
|
NTSHChangeNotificationRegister |
|
Registers a window
that receives notifications from the file system or Shell. Notifications
that are received will use shared memory, equivalent to calling
SHChangeNotifyRegister with the SHCNRF_NewDelivery flag set. |
|
DECLARE FUNCTION NTSHChangeNotificationRegister _ LIB "SHELL32.DLL" _ ALIAS "NTSHChangeNotificationRegister" ( _ BYVAL hwnd AS DWORD, _ BYVAL fSources AS LONG, _ BYVAL fEvents AS LONG, _
|