📄 todo.h
字号:
STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE;
STDMETHOD(DestroyViewWindow)(THIS) PURE;
STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE;
STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
STDMETHOD(SaveViewState)(THIS) PURE;
STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE;
STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE;
STDMETHOD(GetView)(THIS_ SHELLVIEWID*,ULONG) PURE;
STDMETHOD(CreateViewWindow2)(THIS_ LPSV2CVW2_PARAMS) PURE;
STDMETHOD(HandleRename)(THIS_ PCUITEMID_CHILD) PURE;
STDMETHOD(SelectAndPositionItem)(THIS_ PCUITEMID_CHILD,UINT,POINT*) PURE;
STDMETHOD(CreateViewWindow3)(THIS_ IShellBrowser*,IShellView*,SV3CVW3_FLAGS,FOLDERFLAGS,FOLDERFLAGS,FOLDERVIEWMODE,const SHELLVIEWID*,const RECT*,HWND*) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IShellView3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IShellView3_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IShellView3_Release(T) (T)->lpVtbl->Release(T)
#define IShellView3_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
#define IShellView3_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
#define IShellView3_TranslateAccelerator(T,a) (T)->lpVtbl->TranslateAccelerator(T,a)
#ifdef _FIX_ENABLEMODELESS_CONFLICT
#define IShellView3_EnableModeless(T,a) (T)->lpVtbl->EnableModelessSV(T,a)
#else
#define IShellView3_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
#endif
#define IShellView3_UIActivate(T,a) (T)->lpVtbl->UIActivate(T,a)
#define IShellView3_Refresh(T) (T)->lpVtbl->Refresh(T)
#define IShellView3_CreateViewWindow(T,a,b,c,d,e) (T)->lpVtbl->CreateViewWindow(T,a,b,c,d,e)
#define IShellView3_DestroyViewWindow(T) (T)->lpVtbl->DestroyViewWindow(T)
#define IShellView3_GetCurrentInfo(T,a) (T)->lpVtbl->GetCurrentInfo(T,a)
#define IShellView3_AddPropertySheetPages(T,a,b,c) (T)->lpVtbl->AddPropertySheetPages(T,a,b,c)
#define IShellView3_SaveViewState(T) (T)->lpVtbl->SaveViewState(T)
#define IShellView3_SelectItem(T,a,b) (T)->lpVtbl->SelectItem(T,a,b)
#define IShellView3_GetItemObject(T,a,b,c) (T)->lpVtbl->GetItemObject(T,a,b,c)
#define IShellView3_GetView(T,a,b) (T)->lpVtbl->GetView(T,a,b)
#define IShellView3_CreateViewWindow2(T,a) (T)->lpVtbl->CreateViewWindow2(T,a)
#define IShellView3_HandleRename(T,a) (T)->lpVtbl->HandleRename(T,a)
#define IShellView3_SelectAndPositionItem(T,a,b,c) (T)->lpVtbl->SelectAndPositionItem(T,a,b,c)
#define IShellView3_CreateViewWindow3(T,a,b,c,d,e,f,g,h,i) (T)->lpVtbl->CreateViewWindow3(T,a,b,c,d,e,f,g,h,i)
#endif
#define SHGVSPB_PERUSER 0x1
#define SHGVSPB_PERFOLDER 0x4
#define SHGVSPB_ROAM 0x00000020
#define SHGVSPB_NOAUTODEFAULTS 0x80000000
#define SHGVSPB_FOLDER (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER)
#define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS)
/*
* DeskBand Command IDs
*/
enum tagDESKBANDCID
{
DBID_BANDINFOCHANGED = 0,
DBID_SHOWONLY,
DBID_MAXIMIZEBAND,
DBID_PUSHCHEVRON,
DBID_DELAYINIT,
DBID_FINISHINIT,
DBID_SETWINDOWTHEME,
DBID_PERMITAUTOHIDE
};
#define DBC_SHOW 1
#define DBC_HIDE 0
static const GUID IID_HACK_IShellService = {0x5836FB00,0x8187,0x11CF,{0xA1,0x2B,0x00,0xAA,0x00,0x4A,0xE8,0x37}};
#define IID_IShellService IID_HACK_IShellService
#define INTERFACE IShellService
DECLARE_INTERFACE_(IShellService,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IShellService methods ***/
STDMETHOD_(HRESULT,SetOwner)(THIS_ IUnknown*) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IShellService_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IShellService_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IShellService_Release(T) (T)->lpVtbl->Release(T)
#define IShellService_SetOwner(T,a) (T)->lpVtbl->SetOwner(T,a)
#endif
#if 0
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST,LPCWSTR,DWORD,REFIID,PVOID*);/* FIXME: Parameter should be PCIDLIST_ABSOLUTE */
#else
typedef HRESULT (WINAPI *PSHGetViewStatePropertyBag)(LPCITEMIDLIST,LPCWSTR,DWORD,REFIID,PVOID*);
static HRESULT __inline
SHGetViewStatePropertyBag(IN LPCITEMIDLIST pidl,
IN LPCWSTR pszBagName,
IN DWORD dwFlags,
IN REFIID riid,
OUT PVOID* ppv)
{
static PSHGetViewStatePropertyBag Func = NULL;
if (Func == NULL)
{
HMODULE hShlwapi;
hShlwapi = LoadLibrary(TEXT("SHLWAPI.DLL"));
if (hShlwapi != NULL)
{
Func = (PSHGetViewStatePropertyBag)GetProcAddress(hShlwapi, "SHGetViewStatePropertyBag");
}
}
if (Func != NULL)
{
return Func(pidl, pszBagName, dwFlags, riid, ppv);
}
MessageBox(NULL, TEXT("SHGetViewStatePropertyBag not available"), NULL, 0);
return E_NOTIMPL;
}
#endif
#define PIDLIST_ABSOLUTE LPITEMIDLIST
PIDLIST_ABSOLUTE WINAPI SHCloneSpecialIDList(HWND hwnd, int csidl, BOOL fCreate);
enum
{
BMICON_LARGE = 0,
BMICON_SMALL
};
#define INTERFACE IBanneredBar
DECLARE_INTERFACE_(IBanneredBar,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IBanneredBar methods ***/
STDMETHOD_(HRESULT,SetIconSize)(THIS_ DWORD) PURE;
STDMETHOD_(HRESULT,GetIconSize)(THIS_ DWORD*) PURE;
STDMETHOD_(HRESULT,SetBitmap)(THIS_ HBITMAP) PURE;
STDMETHOD_(HRESULT,GetBitmap)(THIS_ HBITMAP*) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IBanneredBar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IBanneredBar_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IBanneredBar_Release(T) (T)->lpVtbl->Release(T)
#define IBanneredBar_SetIconSize(T,a) (T)->lpVtbl->SetIconSize(T,a)
#define IBanneredBar_GetIconSize(T,a) (T)->lpVtbl->GetIconSize(T,a)
#define IBanneredBar_SetBitmap(T,a) (T)->lpVtbl->SetBitmap(T,a)
#define IBanneredBar_GetBitmap(T,a) (T)->lpVtbl->GetBitmap(T,a)
#endif
enum tagMENUPOPUPPOPUPFLAGS
{
MPPF_SETFOCUS = 0x1,
MPPF_INITIALSELECT = 0x2,
MPPF_NOANIMATE = 0x4,
MPPF_KEYBOARD = 0x10,
MPPF_REPOSITION = 0x20,
MPPF_FORCEZORDER = 0x40,
MPPF_FINALSELECT = 0x80,
MPPF_TOP = 0x20000000,
MPPF_LEFT = 0x40000000,
MPPF_RIGHT = 0x60000000,
MPPF_BOTTOM = 0x80000000,
MPPF_POS_MASK = 0xE0000000,
MPPF_ALIGN_LEFT = 0x2000000,
MPPF_ALIGN_RIGHT = 0x4000000,
};
typedef int MP_POPUPFLAGS;
#define INTERFACE IMenuPopup
DECLARE_INTERFACE_(IMenuPopup,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleWindow methods ***/
STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND*) PURE;
STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
/*** IDeskBar methods ***/
STDMETHOD_(HRESULT,SetClient)(THIS_ IUnknown*) PURE;
STDMETHOD_(HRESULT,GetClient)(THIS_ IUnknown**) PURE;
STDMETHOD_(HRESULT,OnPosRectChangeDB)(THIS_ RECT*) PURE;
/*** IMenuPopup methods ***/
STDMETHOD_(HRESULT,Popup)(THIS_ POINTL*,RECTL*,MP_POPUPFLAGS) PURE;
STDMETHOD_(HRESULT,OnSelect)(THIS_ DWORD) PURE;
STDMETHOD_(HRESULT,SetSubMenu)(THIS_ IMenuPopup*,BOOL) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IMenuPopup_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IMenuPopup_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IMenuPopup_Release(T) (T)->lpVtbl->Release(T)
#define IMenuPopup_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
#define IMenuPopup_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
#define IMenuPopup_SetClient(T,a) (T)->lpVtbl->SetClient(T,a)
#define IMenuPopup_GetClient(T,a) (T)->lpVtbl->GetClient(T,a)
#define IMenuPopup_OnPosRectChangeDB(T,a) (T)->lpVtbl->OnPosRectChangeDB(T,a)
#define IMenuPopup_Popup(T,a,b,c) (T)->lpVtbl->Popup(T,a,b,c)
#define IMenuPopup_OnSelect(T,a) (T)->lpVtbl->OnSelect(T,a)
#define IMenuPopup_SetSubMenu(T,a,b) (T)->lpVtbl->SetSubMenu(T,a,b)
#endif
#define INTERFACE IMenuBand
DECLARE_INTERFACE_(IMenuBand,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IMenuBand methods ***/
STDMETHOD_(HRESULT,IsMenuMessage)(THIS_ MSG*) PURE;
STDMETHOD_(HRESULT,TranslateMenuMessage)(THIS_ MSG*,LRESULT*) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IMenuBand_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IMenuBand_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IMenuBand_Release(T) (T)->lpVtbl->Release(T)
#define IMenuBand_IsMenuMessage(T,a) (T)->lpVtbl->IsMenuMessage(T,a)
#define IMenuBand_TranslateMenuMessage(T,a,b) (T)->lpVtbl->TranslateMenuMessage(T,a,b)
#endif
#define INTERFACE IInitializeObject
DECLARE_INTERFACE_(IInitializeObject,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IInitializeObject methods ***/
STDMETHOD_(HRESULT,Initialize)(THIS) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IInitializeObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IInitializeObject_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IInitializeObject_Release(T) (T)->lpVtbl->Release(T)
#define IInitializeObject_Initialize(T) (T)->lpVtbl->Initialize(T)
#endif
#endif /* __TODO_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -