1 // Shell.h : CShell
\82Ì
\90é
\8c¾
6 #include "resource.h" //
\83\81\83C
\83\93 \83V
\83\93\83{
\83\8b
8 /////////////////////////////////////////////////////////////////////////////
10 class ATL_NO_VTABLE CShell :
11 public CComObjectRootEx<CComSingleThreadModel>,
12 public CComCoClass<CShell, &CLSID_SeraphyScriptTools_Shell>,
13 public ISupportErrorInfo,
14 public IDispatchImpl<ISeraphyScriptTools_Shell, &IID_ISeraphyScriptTools_Shell, &LIBID_SERAPHYSCRIPTTOOLSLib>
24 SHGetMalloc(&m_pMalloc);
36 HWND hWnd = NULL;//m_hStaticMainWindow;
38 m_pMainWindow->get_HWND((long*)&hWnd);
43 DECLARE_REGISTRY_RESOURCEID(IDR_SHELL)
45 DECLARE_PROTECT_FINAL_CONSTRUCT()
48 COM_INTERFACE_ENTRY(ISeraphyScriptTools_Shell)
49 COM_INTERFACE_ENTRY(IDispatch)
50 COM_INTERFACE_ENTRY(ISupportErrorInfo)
54 STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
56 // ISeraphyScriptTools_Shell
58 STDMETHOD(IsExist)(/*[in]*/VARIANT name,/*[out,retval]*/VARIANT* pVal);
59 STDMETHOD(SetMainWindow)(/*[in]*/VARIANT varUnk);
60 STDMETHOD(RecentDocs)(/*[in,optional]*/VARIANT text);
61 STDMETHOD(EmptyRecycleBin)(/*[in,optional]*/VARIANT dir);
64 HRESULT FileOperationCore(UINT wFunc,FILEOP_FLAGS flag,VARIANT* from,VARIANT* to,VARIANT* pResult);
65 LPSTR CreateDNStringFromVariant(VARIANT& from);
66 STDMETHOD(get_Silent)(/*[out, retval]*/ BOOL *pVal);
67 STDMETHOD(put_Silent)(/*[in]*/ BOOL newVal);
68 STDMETHOD(get_Confirm)(/*[out, retval]*/ BOOL *pVal);
69 STDMETHOD(put_Confirm)(/*[in]*/ BOOL newVal);
70 STDMETHOD(Delete)(/*[in]*/VARIANT from,/*[out,retval]*/VARIANT* pVal);
71 STDMETHOD(Move)(/*[in]*/VARIANT from,/*[in]*/VARIANT to,/*[out,retval]*/VARIANT* pVal);
72 STDMETHOD(CopyRenameOnCollision)(/*[in]*/VARIANT from,/*[in]*/VARIANT to,/*[out,retval]*/VARIANT* pVal);
73 STDMETHOD(Copy)(/*[in]*/VARIANT from,/*[in]*/VARIANT to,/*[out,retval]*/VARIANT* pVal);
74 STDMETHOD(ParseName)(/*[in,optional]*/VARIANT text,/*[out,retval]*/VARIANT* pVal);
75 STDMETHOD(GetDLLVersion)(/*[in]*/VARIANT text,/*[in,optional]*/VARIANT min,/*[out,retval]*/VARIANT* pVal);
76 STDMETHOD(get_WindowsVersion)(/*[out, retval]*/ long *pVal);
77 STDMETHOD(get_IsWindowNT)(/*[out, retval]*/ BOOL *pVal);
78 STDMETHOD(GetSpecialFolderLocations)(/*[in]*/IUnknown* punkVal);
79 STDMETHOD(ShellExecute)(/*[in]*/VARIANT path,/*[in,optional]*/VARIANT param,/*[in,optional]*/VARIANT initdir,/*[in,optional]*/VARIANT mode, /*[out,retval]*/VARIANT* punkVal);
82 IOverlappedWindow* m_pMainWindow;
85 // Shell.h : CShellExecObj
\82Ì
\90é
\8c¾
88 /////////////////////////////////////////////////////////////////////////////
90 class ATL_NO_VTABLE CShellExecObj :
91 public CComObjectRootEx<CComSingleThreadModel>,
92 // public CComCoClass<CShellExecObj, &CLSID_ShellExecObj>,
93 public IDispatchImpl<IShellExecObj, &IID_IShellExecObj, &LIBID_SERAPHYSCRIPTTOOLSLib>
103 CloseHandle(m_hProcess);
107 DECLARE_REGISTRY_RESOURCEID(IDR_SHELLEXECOBJ)
109 DECLARE_PROTECT_FINAL_CONSTRUCT()
111 BEGIN_COM_MAP(CShellExecObj)
112 COM_INTERFACE_ENTRY(IShellExecObj)
113 COM_INTERFACE_ENTRY(IDispatch)
118 STDMETHOD(get_ExitCode)(/*[out, retval]*/ long *pVal);
119 STDMETHOD(Wait)(/*[in,optional]*/VARIANT tim,/*[out,retval]*/VARIANT* pVal);
123 // shell.h : CParseName
\82Ì
\90é
\8c¾
126 /////////////////////////////////////////////////////////////////////////////
128 class ATL_NO_VTABLE CParseName :
129 public CComObjectRootEx<CComSingleThreadModel>,
130 public CComCoClass<CParseName, &CLSID_ParseName>,
131 public ISupportErrorInfo,
132 public IDispatchImpl<ISeraphyScriptTool_ParseName, &IID_ISeraphyScriptTool_ParseName, &LIBID_SERAPHYSCRIPTTOOLSLib>
139 DECLARE_REGISTRY_RESOURCEID(IDR_PARSENAME)
141 DECLARE_PROTECT_FINAL_CONSTRUCT()
143 BEGIN_COM_MAP(CParseName)
144 COM_INTERFACE_ENTRY(ISeraphyScriptTool_ParseName)
145 COM_INTERFACE_ENTRY(IDispatch)
146 COM_INTERFACE_ENTRY(ISupportErrorInfo)
149 // ISupportsErrorInfo
150 STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
152 // ISeraphyScriptTool_ParseName
154 STDMETHOD(get_Directory)(/*[out, retval]*/ BSTR *pVal);
155 STDMETHOD(get_Drive)(/*[out, retval]*/ BSTR *pVal);
156 STDMETHOD(put_Drive)(/*[in]*/ BSTR newVal);
157 STDMETHOD(get_Name)(/*[out, retval]*/ BSTR *pVal);
158 STDMETHOD(put_Name)(/*[in]*/ BSTR newVal);
159 STDMETHOD(get_Extention)(/*[out, retval]*/ BSTR *pVal);
160 STDMETHOD(put_Extention)(/*[in]*/ BSTR newVal);
161 STDMETHOD(get_FileName)(/*[out, retval]*/ BSTR *pVal);
162 STDMETHOD(put_FileName)(/*[in]*/ BSTR newVal);
163 STDMETHOD(get_PathName)(/*[out, retval]*/ BSTR *pVal);
164 STDMETHOD(put_PathName)(/*[in]*/ BSTR newVal);