📄 exdisp.idl
字号:
// Some private hidden members to allow shell windows to add and
// remove themself from the list. We mark them hidden to keep
// random VB apps from trying to Register...
[helpstring("Register a window with the list"), hidden]
HRESULT Register([in] IDispatch *pid,
[in] long hwnd,
[in] int swClass,
[out]long *plCookie);
[helpstring("Register a pending open with the list"), hidden]
HRESULT RegisterPending([in] long lThreadId,
[in] VARIANT* pvarloc, // will hold pidl that is being opened.
[in] VARIANT* pvarlocRoot, // Optional root pidl
[in] int swClass,
[out]long *plCookie);
[helpstring("Remove a window from the list"), hidden]
HRESULT Revoke([in]long lCookie);
// As an optimization, each window notifies the new location
// only when
// (1) it's being deactivated
// (2) getFullName is called (we overload it to force update)
[helpstring("Notifies the new location"), hidden]
HRESULT OnNavigate([in]long lCookie, [in] VARIANT* pvarLoc);
[helpstring("Notifies the activation"), hidden]
HRESULT OnActivated([in]long lCookie, [in] VARIANT_BOOL fActive);
[helpstring("Find the window based on the location"), hidden]
HRESULT FindWindow([in] VARIANT* pvarLoc,
[in] VARIANT* pvarLocRoot,
[in] int swClass,
[out] long * phwnd,
[in] int swfwOptions,
[out,retval] IDispatch** ppdispOut);
[helpstring("Notifies on creation and frame name set"), hidden]
HRESULT OnCreated([in]long lCookie,[in] IUnknown *punk);
[helpstring("Used by IExplore to register different processes"), hidden]
HRESULT ProcessAttachDetach([in] VARIANT_BOOL fAttach);
}
[
uuid(9BA05972-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellWindows
helpstring("ShellDispatch Load in Shell Context")
]
coclass ShellWindows
{
[default] interface IShellWindows;
[default, source] dispinterface DShellWindowsEvents;
}
[
uuid(88A05C00-F000-11CE-8350-444553540000), // IID_IShellLinkDual
helpstring("Definition of Shell Link IDispatch interface"),
oleautomation,
dual,
odl,
hidden,
]
interface IShellLinkDual : IDispatch
{
[propget, helpstring("Get the path of the link")]
HRESULT Path([out, retval] BSTR *pbs);
[propput, helpstring("Set the path of the link")]
HRESULT Path([in] BSTR bs);
[propget, helpstring("Get the description for the link")]
HRESULT Description([out, retval] BSTR *pbs);
[propput, helpstring("Set the description for the link")]
HRESULT Description([in] BSTR bs);
[propget, helpstring("Get the working directory for the link")]
HRESULT WorkingDirectory([out, retval] BSTR *pbs);
[propput, helpstring("Set the working directory for the link")]
HRESULT WorkingDirectory([in] BSTR bs);
[propget, helpstring("Get the arguments for the link")]
HRESULT Arguments([out, retval] BSTR *pbs);
[propput, helpstring("Set the arguments for the link")]
HRESULT Arguments([in] BSTR bs);
[propget, helpstring("Get the Hotkey for the link")]
HRESULT Hotkey([out, retval] int *piHK);
[propput, helpstring("Set the Hotkey for the link")]
HRESULT Hotkey([in] int iHK);
[propget, helpstring("Get the Show Command for the link")]
HRESULT ShowCommand([out, retval] int *piShowCommand);
[propput, helpstring("Set the Show Command for the link")]
HRESULT ShowCommand([in] int iShowCommand);
// STDMETHOD(SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE;
//Methods
[helpstring("Tell the link to resolve itself")]
HRESULT Resolve([in] int fFlags);
[helpstring("Get the IconLocation for the link")]
HRESULT GetIconLocation([out] BSTR *pbs, [out,retval] int *piIcon);
[helpstring("Set the IconLocation for the link")]
HRESULT SetIconLocation([in] BSTR bs, [in] int iIcon);
[helpstring("Tell the link to save the changes")]
HRESULT Save ([in, optional] VARIANT vWhere);
}
[
uuid(11219420-1768-11d1-95BE-00609797EA4F), // CLSID_ShellLinkObject
helpstring("Shell Link object")
]
coclass ShellLinkObject // funny name so we don't conflict with CLSID_ShellLink
{
[default] interface IShellLinkDual;
}
[
uuid(08EC3E00-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerb
helpstring("Definition of interface FolderItemVerb"),
oleautomation,
dual,
odl,
]
interface FolderItemVerb : IDispatch
{
[propget, helpstring("Get Application object")]
HRESULT Application ([out, retval] IDispatch **ppid);
[propget, helpstring("Get Parent object")]
HRESULT Parent([out, retval] IDispatch **ppid);
[id(0), propget, helpstring("Get display name for item")]
HRESULT Name([out, retval] BSTR *pbs);
[helpstring("Execute the verb")]
HRESULT DoIt();
}
[
uuid(1F8352C0-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerbs
helpstring("Definition of interface FolderItemVerbs"),
oleautomation,
dual,
odl,
]
interface FolderItemVerbs : IDispatch
{
//Properties
[propget, helpstring("Get count of open folder windows")]
HRESULT Count([out, retval] long *plCount);
[propget, helpstring("Get Application object")]
HRESULT Application ([out, retval] IDispatch **ppid);
[propget, helpstring("Get Parent object")]
HRESULT Parent([out, retval] IDispatch **ppid);
//Methods
//Standard Methods
[helpstring("Return the specified verb")]
HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItemVerb **ppid);
[id(-4), helpstring("Enumerates the figures")]
HRESULT _NewEnum([out, retval] IUnknown **ppunk);
}
interface Folder; // forward reference
[
uuid(FAC32C80-CBE4-11CE-8350-444553540000), // IID_FolderItem
helpstring("Definition of interface FolderItem"),
oleautomation,
dual,
odl,
]
interface FolderItem : IDispatch
{
[propget, helpstring("Get Application object")]
HRESULT Application ([out, retval] IDispatch **ppid);
[propget, helpstring("Get Parent object")]
HRESULT Parent([out, retval] IDispatch **ppid);
[id(0), propget, helpstring("Get display name for item")]
HRESULT Name([out, retval] BSTR *pbs);
[id(0), propput, helpstring("Set the name for the item")]
HRESULT Name([in] BSTR bs);
[propget, helpstring("Get the pathname to the item")]
HRESULT Path([out, retval]BSTR *pbs);
[propget, helpstring("If item is link return link object")]
HRESULT GetLink([out, retval] IDispatch **ppid);
[propget, helpstring("If item is a folder return folder object")]
HRESULT GetFolder([out, retval] IDispatch **ppid);
[propget, helpstring("Is the item a link?")]
HRESULT IsLink([out, retval] VARIANT_BOOL *pb);
[propget, helpstring("Is the item a Folder?")]
HRESULT IsFolder([out, retval] VARIANT_BOOL *pb);
[propget, helpstring("Is the item a file system object?")]
HRESULT IsFileSystem([out, retval] VARIANT_BOOL *pb);
[propget, helpstring("Is the item browsable?")]
HRESULT IsBrowsable([out, retval] VARIANT_BOOL *pb);
[propget, helpstring("Modification Date?")]
HRESULT ModifyDate([out, retval] DATE *pdt);
[propput, helpstring("Modification Date?")]
HRESULT ModifyDate([in] DATE dt);
[propget, helpstring("Size")]
HRESULT Size([out, retval] LONG *pul);
[propget, helpstring("Type")]
HRESULT Type([out, retval] BSTR *pbs);
[helpstring("Get the list of verbs for the object")]
HRESULT Verbs([out, retval] FolderItemVerbs **ppfic);
[helpstring("Execute a command on the item")]
HRESULT InvokeVerb([in,optional] VARIANT vVerb);
}
[
uuid(744129E0-CBE5-11CE-8350-444553540000), // IID_FolderItems
helpstring("Definition of interface FolderItems"),
oleautomation,
dual,
odl,
]
interface FolderItems : IDispatch
{
//Properties
[propget, helpstring("Get count of items in the folder")]
HRESULT Count([out, retval] long *plCount);
[propget, helpstring("Get Application object")]
HRESULT Application ([out, retval] IDispatch **ppid);
[propget, helpstring("Get Parent object")]
HRESULT Parent([out, retval] IDispatch **ppid);
//Methods
//Standard Methods
[helpstring("Return the figure for the given index")]
HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItem **ppid);
[id(-4), helpstring("Enumerates the figures")]
HRESULT _NewEnum([out, retval] IUnknown **ppunk);
}
[
uuid(BBCBDE60-C3FF-11CE-8350-444553540000), // IID_Folder
helpstring("Definition of interface Folder"),
oleautomation,
dual,
odl,
]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -