|
@@ -21,15 +21,88 @@ unit shlobj;
|
|
uses
|
|
uses
|
|
windows,activex,shellapi;
|
|
windows,activex,shellapi;
|
|
|
|
|
|
- type
|
|
|
|
- IEnumIDList = interface(IUnknown)
|
|
|
|
|
|
+Const
|
|
|
|
+ IID_IShellFolder : TGUID ='{000214E6-0000-0000-C000-000000000046}';
|
|
|
|
+ IID_IEnumList : TGUID ='{000214F2-0000-0000-C000-000000000046}';
|
|
|
|
+ IID_IAutoComplete : TGUID ='{00bb2762-6a77-11d0-a535-00c04fd7d062}';
|
|
|
|
+ IID_IAutoComplete2 : TGUID ='{EAC04BC0-3791-11d2-BB95-0060977B464C}';
|
|
|
|
+ IID_IContextMenu : TGUID ='{000214E4-0000-0000-c000-000000000046}';
|
|
|
|
+ IID_IContextMenu2 : TGUID ='{000214f4-0000-0000-c000-000000000046}';
|
|
|
|
+ IID_IContextMenu3 : TGUID ='{bcfce0a0-ec17-11d0-8d10-00a0c90f2719}';
|
|
|
|
+ IID_IPersistFolder : TGUID ='{000214EA-0000-0000-C000-000000000046}';
|
|
|
|
+ IID_IPersistFolder2 : TGUID ='{1AC3D9F0-175C-11d1-95BE-00609797EA4F}';
|
|
|
|
+ IID_IPersistIDListr : TGUID ='{1079acfc-29bd-11d3-8e0d-00c04f6837d5}';
|
|
|
|
+ IID_IEnumExtraSearch: TGUID ='{0E700BE1-9DB6-11d1-A1CE-00C04FD75D13}';
|
|
|
|
+ IID_IShellFolder2 : TGUID ='{93F2F68C-1D1B-11d3-A30E-00C04F79ABD1}';
|
|
|
|
+
|
|
|
|
+Type
|
|
|
|
+ _SHELLDETAILS = record
|
|
|
|
+ fmt,
|
|
|
|
+ cxChar : longint;
|
|
|
|
+ str : TSTRRET;
|
|
|
|
+ end;
|
|
|
|
+ TShellDetails = _SHELLDETAILS;
|
|
|
|
+ SHELLDETAILS = _SHELLDETAILS;
|
|
|
|
+ PShellDetails = ^TShellDetails;
|
|
|
|
+ LPSHELLDETAILS = PSHELLDETAILS;
|
|
|
|
+
|
|
|
|
+ TShellDetailsEx = record
|
|
|
|
+ Index: UINT;
|
|
|
|
+ Detail: TShellDetails;
|
|
|
|
+ end;
|
|
|
|
+ tagEXTRASEARCH = packed record
|
|
|
|
+ guidSearch : TGUID;
|
|
|
|
+ wszFriendlyName : array[0..80-1] of WideChar;
|
|
|
|
+ wszUrl : array[0..2084-1] of WideChar;
|
|
|
|
+ end;
|
|
|
|
+ EXTRASEARCH = TagEXTRASEARCH;
|
|
|
|
+ TEXTRASEARCH = TagEXTRASEARCH;
|
|
|
|
+ LPEXTRASEARCH = ^EXTRASEARCH;
|
|
|
|
+ PEXTRASEARCH = ^EXTRASEARCH;
|
|
|
|
+
|
|
|
|
+ SHCOLSTATEF = DWORD;
|
|
|
|
+ PSHCOLSTATEF = ^SHCOLSTATEF;
|
|
|
|
+ TSHCOLSTATEF = SHCOLSTATEF;
|
|
|
|
+
|
|
|
|
+ SHColumnID = packed record
|
|
|
|
+ fmtid : TGUID;
|
|
|
|
+ pid : DWORD;
|
|
|
|
+ end;
|
|
|
|
+ LPSHColumnID = SHColumnID;
|
|
|
|
+ TSHColumnid = SHColumnID;
|
|
|
|
+ pSHColumnID = LPSHColumnID;
|
|
|
|
+
|
|
|
|
+ IPersistFolder = Interface(IPersist)
|
|
|
|
+ ['{000214EA-0000-0000-C000-000000000046}']
|
|
|
|
+ function Initialize (pild : LPCITEMIDLIST): HResult; StdCall;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ IPersistFolder2 = Interface(IPersistFolder)
|
|
|
|
+ ['{1AC3D9F0-175C-11d1-95BE-00609797EA4F}']
|
|
|
|
+ function GetCurFolder(Out ppidl : LPITEMIDLIST):HResult; StdCall;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ IPersistIDList = Interface(IPersist)
|
|
|
|
+ ['{1079acfc-29bd-11d3-8e0d-00c04f6837d5}']
|
|
|
|
+ function SetIdList(pid:LPCITEMIDLIST):HResult;StdCall;
|
|
|
|
+ function GetIdList(out pid:LPCITEMIDLIST):HResult;StdCall;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ IEnumIDList = interface(IUnknown)
|
|
['{000214F2-0000-0000-C000-000000000046}']
|
|
['{000214F2-0000-0000-C000-000000000046}']
|
|
function Next(celt: ULONG; out rgelt: PItemIDList; var pceltFetched: ULONG): HRESULT; stdcall;
|
|
function Next(celt: ULONG; out rgelt: PItemIDList; var pceltFetched: ULONG): HRESULT; stdcall;
|
|
function Skip(celt: ULONG): HRESULT; stdcall; function Reset: HRESULT; stdcall;
|
|
function Skip(celt: ULONG): HRESULT; stdcall; function Reset: HRESULT; stdcall;
|
|
function Clone(out ppenum: IEnumIDList): HRESULT; stdcall;
|
|
function Clone(out ppenum: IEnumIDList): HRESULT; stdcall;
|
|
end;
|
|
end;
|
|
|
|
|
|
- IShellFolder = interface(IUnknown)
|
|
|
|
|
|
+ IEnumExtraSearch = Interface(IUnknown)
|
|
|
|
+ ['{0E700BE1-9DB6-11d1-A1CE-00C04FD75D13}']
|
|
|
|
+ function Next(celt: ULONG; out rgelt: EXTRASEARCH; var pceltFetched: ULONG): HRESULT; stdcall;
|
|
|
|
+ function Skip(celt: ULONG): HRESULT; stdcall; function Reset: HRESULT; stdcall;
|
|
|
|
+ function Clone(out ppenum: IEnumExtraSearch): HRESULT; stdcall;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ IShellFolder = interface(IUnknown)
|
|
['{000214E6-0000-0000-C000-000000000046}']
|
|
['{000214E6-0000-0000-C000-000000000046}']
|
|
function ParseDisplayName(hwndOwner: HWND; pbcReserved: Pointer; lpszDisplayName: POLESTR; out pchEaten: ULONG; out ppidl: PItemIDList; var dwAttributes: ULONG): HRESULT; stdcall;
|
|
function ParseDisplayName(hwndOwner: HWND; pbcReserved: Pointer; lpszDisplayName: POLESTR; out pchEaten: ULONG; out ppidl: PItemIDList; var dwAttributes: ULONG): HRESULT; stdcall;
|
|
function EnumObjects(hwndOwner: HWND; grfFlags: DWORD; out EnumIDList: IEnumIDList): HRESULT; stdcall;
|
|
function EnumObjects(hwndOwner: HWND; grfFlags: DWORD; out EnumIDList: IEnumIDList): HRESULT; stdcall;
|
|
@@ -43,7 +116,18 @@ unit shlobj;
|
|
function SetNameOf(hwndOwner: HWND; pidl: PItemIDList; lpszName: POLEStr; uFlags: DWORD; var ppidlOut: PItemIDList): HRESULT; stdcall;
|
|
function SetNameOf(hwndOwner: HWND; pidl: PItemIDList; lpszName: POLEStr; uFlags: DWORD; var ppidlOut: PItemIDList): HRESULT; stdcall;
|
|
end;
|
|
end;
|
|
|
|
|
|
- IAutoComplete = interface(IUnknown)
|
|
|
|
|
|
+ IShellFolder2 = interface(IShellFolder)
|
|
|
|
+ ['{93F2F68C-1D1B-11d3-A30E-00C04F79ABD1}']
|
|
|
|
+ function GetDefaultSearchGUID(out guid:TGUID):HResult;StdCall;
|
|
|
|
+ function EnumSearches(out ppenum:IEnumExtraSearch):HResult;StdCall;
|
|
|
|
+ function GetDefaultColumn(dwres:DWORD;psort :pulong; pdisplay:pulong):HResult;StdCall;
|
|
|
|
+ function GetDefaultColumnStart(icolumn:UINT;pscflag:PSHCOLSTATEF):HResult;StdCall;
|
|
|
|
+ function GetDetailsEx(pidl:LPCITEMIDLIST;pscid:PSHCOLUMNID; pv : pOLEvariant):HResult;StdCall;
|
|
|
|
+ function GetDetailsOf(pidl:LPCITEMIDLIST;iColumn:UINT;psd:PSHELLDETAILS):HResult;StdCall;
|
|
|
|
+ function MapColumnToSCID(iColumn:UINT;pscid:PSHCOLUMNID):HResult;StdCall;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ IAutoComplete = interface(IUnknown)
|
|
['{00bb2762-6a77-11d0-a535-00c04fd7d062}']
|
|
['{00bb2762-6a77-11d0-a535-00c04fd7d062}']
|
|
function Init(hwndEdit: HWND; punkACL: IUnknown; pwszRegKeyPath: LPCWSTR; pwszQuickComplete: LPCWSTR): HRESULT; stdcall;
|
|
function Init(hwndEdit: HWND; punkACL: IUnknown; pwszRegKeyPath: LPCWSTR; pwszQuickComplete: LPCWSTR): HRESULT; stdcall;
|
|
function Enable(fEnable: BOOL): HRESULT; stdcall;
|
|
function Enable(fEnable: BOOL): HRESULT; stdcall;
|
|
@@ -87,7 +171,7 @@ unit shlobj;
|
|
IContextMenu = interface(IUnknown)
|
|
IContextMenu = interface(IUnknown)
|
|
['{000214E4-0000-0000-c000-000000000046}']
|
|
['{000214E4-0000-0000-c000-000000000046}']
|
|
function QueryContextMenu(hmenu:HMENU;indexMenu:UINT;idCmdFirst:UINT;idCmdLast:UINT;UFlags:uint):HRESULT;StdCall;
|
|
function QueryContextMenu(hmenu:HMENU;indexMenu:UINT;idCmdFirst:UINT;idCmdLast:UINT;UFlags:uint):HRESULT;StdCall;
|
|
- function InvokeCommand(lpici : LPCMINVOKECOMMANDINFO):HResult; StdCall;
|
|
|
|
|
|
+ function InvokeCommand(var lpici : TCMINVOKECOMMANDINFO):HResult; StdCall;
|
|
function GetCommandString(idcmd:UINT_Ptr;uType:UINT;pwreserved:puint;pszName:LPStr;cchMax:uint):HResult;StdCall;
|
|
function GetCommandString(idcmd:UINT_Ptr;uType:UINT;pwreserved:puint;pszName:LPStr;cchMax:uint):HResult;StdCall;
|
|
end;
|
|
end;
|
|
IContextMenu2 = interface(IContextMenu)
|
|
IContextMenu2 = interface(IContextMenu)
|