ReactOS 0.4.15-dev-6054-gbddd8b0
CDesktopBrowser Class Reference
Inheritance diagram for CDesktopBrowser:
Collaboration diagram for CDesktopBrowser:

Public Member Functions

 CDesktopBrowser ()
 
 ~CDesktopBrowser ()
 
HRESULT Initialize (IShellDesktopTray *ShellDeskx)
 
virtual HRESULT STDMETHODCALLTYPE GetWindow (HWND *lphwnd)
 
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp (BOOL fEnterMode)
 
virtual HRESULT STDMETHODCALLTYPE InsertMenusSB (HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
 
virtual HRESULT STDMETHODCALLTYPE SetMenuSB (HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject)
 
virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB (HMENU hmenuShared)
 
virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB (LPCOLESTR pszStatusText)
 
virtual HRESULT STDMETHODCALLTYPE EnableModelessSB (BOOL fEnable)
 
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB (MSG *pmsg, WORD wID)
 
virtual HRESULT STDMETHODCALLTYPE BrowseObject (LPCITEMIDLIST pidl, UINT wFlags)
 
virtual HRESULT STDMETHODCALLTYPE GetViewStateStream (DWORD grfMode, IStream **ppStrm)
 
virtual HRESULT STDMETHODCALLTYPE GetControlWindow (UINT id, HWND *lphwnd)
 
virtual HRESULT STDMETHODCALLTYPE SendControlMsg (UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret)
 
virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView (struct IShellView **ppshv)
 
virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive (struct IShellView *ppshv)
 
virtual HRESULT STDMETHODCALLTYPE SetToolbarItems (LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags)
 
virtual HRESULT STDMETHODCALLTYPE QueryService (REFGUID guidService, REFIID riid, void **ppvObject)
 
LRESULT OnEraseBkgnd (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSize (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSettingChange (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnClose (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnOpenNewWindow (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnCommand (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnSetFocus (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
LRESULT OnGetChangeNotifyServer (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 
- Public Member Functions inherited from IShellBrowser
HRESULT InsertMenusSB ([in] HMENU hmenuShared, [in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths)
 
HRESULT SetMenuSB ([in] HMENU hmenuShared, [in] HOLEMENU holemenuReserved, [in] HWND hwndActiveObject)
 
HRESULT RemoveMenusSB ([in] HMENU hmenuShared)
 
HRESULT SetStatusTextSB ([in, unique] LPCOLESTR pszStatusText)
 
HRESULT EnableModelessSB ([in] BOOL fEnable)
 
HRESULT TranslateAcceleratorSB ([in] MSG *pmsg, [in] WORD wID)
 
HRESULT BrowseObject ([in] PCUIDLIST_RELATIVE pidl, [in] UINT wFlags)
 
HRESULT GetViewStateStream ([in] DWORD grfMode, [out] IStream **ppStrm)
 
HRESULT GetControlWindow ([in] UINT id, [out] HWND *phwnd)
 
HRESULT SendControlMsg ([in] UINT id, [in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam, [in] LRESULT *pret)
 
HRESULT QueryActiveShellView ([out] IShellView **ppshv)
 
HRESULT OnViewWindowActive ([in] IShellView *pshv)
 
HRESULT SetToolbarItems ([in] LPTBBUTTONSB lpButtons, [in] UINT nButtons, [in] UINT uFlags)
 
HRESULT GetWindow ([out] HWND *phwnd)
 
HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from IServiceProvider
HRESULT QueryService ([in] REFGUID guidService, [in] REFIID riid, [out] void **ppvObject)
 
HRESULT RemoteQueryService ([in] REFGUID guidService, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObject)
 

Private Member Functions

LRESULT _NotifyTray (UINT uMsg, WPARAM wParam, LPARAM lParam)
 
HRESULT _Resize ()
 

Private Attributes

HACCEL m_hAccel
 
HWND m_hWndShellView
 
CComPtr< IShellDesktopTray > m_Tray
 
CComPtr< IShellViewm_ShellView
 
CComPtr< IOleWindowm_ChangeNotifyServer
 
HWND m_hwndChangeNotifyServer
 

Additional Inherited Members

- Public Types inherited from IShellBrowser
typedef IShellBrowserLPSHELLBROWSER
 
typedef LPARAM LPTBBUTTONSB
 
typedef LPTBBUTTON LPTBBUTTONSB
 
- Public Types inherited from IOleWindow
typedef IOleWindowLPOLEWINDOW
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IServiceProvider
typedef IServiceProviderLPSERVICEPROVIDER
 
- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 

Detailed Description

Definition at line 34 of file CDesktopBrowser.cpp.

Constructor & Destructor Documentation

◆ CDesktopBrowser()

CDesktopBrowser::CDesktopBrowser ( )

Definition at line 110 of file CDesktopBrowser.cpp.

110 :
111 m_hAccel(NULL),
114{
115}
#define NULL
Definition: types.h:112

◆ ~CDesktopBrowser()

CDesktopBrowser::~CDesktopBrowser ( )

Definition at line 117 of file CDesktopBrowser.cpp.

118{
120 {
121 m_ShellView->DestroyViewWindow();
122 }
123
125 {
127 }
128}
CComPtr< IShellView > m_ShellView
BOOL WINAPI DestroyWindow(_In_ HWND)

Member Function Documentation

◆ _NotifyTray()

LRESULT CDesktopBrowser::_NotifyTray ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)
private

Definition at line 346 of file CDesktopBrowser.cpp.

347{
348 HWND hWndTray;
349 HRESULT hRet;
350
351 hRet = m_Tray->GetTrayWindow(&hWndTray);
352 if (SUCCEEDED(hRet))
353 ::PostMessageW(hWndTray, uMsg, wParam, lParam);
354
355 return 0;
356}
CComPtr< IShellDesktopTray > m_Tray
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define SUCCEEDED(hr)
Definition: intsafe.h:50
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)

Referenced by OnClose(), and OnCommand().

◆ _Resize()

HRESULT CDesktopBrowser::_Resize ( )
private

Definition at line 150 of file CDesktopBrowser.cpp.

151{
152 RECT rcNewSize;
153
154#ifdef MULTIMONITOR_SUPPORT
155
157 if (cMonitors == 1)
158 {
159 SystemParametersInfoW(SPI_GETWORKAREA, 0, &rcNewSize, 0);
160 }
161 else
162 {
163 SetRect(&rcNewSize,
168 }
169
170 ::MoveWindow(m_hWnd, rcNewSize.left, rcNewSize.top, rcNewSize.right - rcNewSize.left, rcNewSize.bottom - rcNewSize.top, TRUE);
171 ::MoveWindow(m_hWndShellView, 0, 0, rcNewSize.right - rcNewSize.left, rcNewSize.bottom - rcNewSize.top, TRUE);
172
173 if (cMonitors != 1)
174 {
175 CAtlList<RECT> list;
177 RECT* prcWorkAreas = new RECT[list.GetCount()];
178 int i = 0;
179 for (POSITION it = list.GetHeadPosition(); it; list.GetNext(it))
180 prcWorkAreas[i++] = list.GetAt(it);
181
183
185 }
186
187#else
188 SystemParametersInfoW(SPI_GETWORKAREA, 0, &rcNewSize, 0);
189 ::MoveWindow(m_hWnd, rcNewSize.left, rcNewSize.top, rcNewSize.right - rcNewSize.left, rcNewSize.bottom - rcNewSize.top, TRUE);
190 ::MoveWindow(m_hWndShellView, 0, 0, rcNewSize.right - rcNewSize.left, rcNewSize.bottom - rcNewSize.top, TRUE);
191
192#endif
193 return S_OK;
194}
Definition: list.h:37
#define TRUE
Definition: types.h:120
HWND hwndListView
Definition: eventvwr.c:66
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define S_OK
Definition: intsafe.h:52
unsigned int UINT
Definition: ndis.h:50
#define LVM_SETWORKAREAS
Definition: commctrl.h:2782
#define WC_LISTVIEW
Definition: commctrl.h:2259
#define list
Definition: rosglue.h:35
BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, RECT *rcMonitor, LPARAM Param)
Definition: screensave.c:33
LONG right
Definition: windef.h:308
LONG bottom
Definition: windef.h:309
LONG top
Definition: windef.h:307
LONG left
Definition: windef.h:306
LONG_PTR LPARAM
Definition: windef.h:208
#define SM_CYVIRTUALSCREEN
Definition: winuser.h:1033
BOOL WINAPI EnumDisplayMonitors(_In_opt_ HDC, _In_opt_ LPCRECT, _In_ MONITORENUMPROC, _In_ LPARAM)
#define SM_CXVIRTUALSCREEN
Definition: winuser.h:1032
HWND WINAPI FindWindowExW(_In_opt_ HWND, _In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
#define SM_XVIRTUALSCREEN
Definition: winuser.h:1030
#define SM_CMONITORS
Definition: winuser.h:1034
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SM_YVIRTUALSCREEN
Definition: winuser.h:1031
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)

Referenced by Initialize(), and OnSettingChange().

◆ BrowseObject()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::BrowseObject ( LPCITEMIDLIST  pidl,
UINT  wFlags 
)
virtual

Definition at line 289 of file CDesktopBrowser.cpp.

290{
291 /*
292 * We should use IShellWindows interface here in order to attempt to
293 * find an open shell window that shows the requested pidl and activate it
294 */
295
296 DWORD dwFlags = ((wFlags & SBSP_EXPLOREMODE) != 0) ? SH_EXPLORER_CMDLINE_FLAG_E : 0;
297 return SHOpenNewFrame(ILClone(pidl), NULL, 0, dwFlags);
298}
#define SH_EXPLORER_CMDLINE_FLAG_E
HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, DWORD dwFlags)
Definition: desktopipc.cpp:578
unsigned long DWORD
Definition: ntddk_ex.h:95
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST pidl)
Definition: pidl.c:228
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176

◆ ContextSensitiveHelp()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::ContextSensitiveHelp ( BOOL  fEnterMode)
virtual

Implements IOleWindow.

Definition at line 252 of file CDesktopBrowser.cpp.

253{
254 return E_NOTIMPL;
255}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnableModelessSB()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::EnableModelessSB ( BOOL  fEnable)
virtual

Implements IShellBrowser.

Definition at line 277 of file CDesktopBrowser.cpp.

278{
279 return E_NOTIMPL;
280}

◆ GetControlWindow()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::GetControlWindow ( UINT  id,
HWND lphwnd 
)
virtual

Implements IShellBrowser.

Definition at line 305 of file CDesktopBrowser.cpp.

306{
307 if (lphwnd == NULL)
308 return E_POINTER;
309 return E_NOTIMPL;
310}
#define E_POINTER
Definition: winerror.h:2365

◆ GetViewStateStream()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::GetViewStateStream ( DWORD  grfMode,
IStream **  ppStrm 
)
virtual

Implements IShellBrowser.

Definition at line 300 of file CDesktopBrowser.cpp.

301{
302 return E_NOTIMPL;
303}

◆ GetWindow()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::GetWindow ( HWND lphwnd)
virtual

Implements IOleWindow.

Definition at line 244 of file CDesktopBrowser.cpp.

245{
246 if (lphwnd == NULL)
247 return E_POINTER;
248 *lphwnd = m_hWnd;
249 return S_OK;
250}

◆ Initialize()

HRESULT CDesktopBrowser::Initialize ( IShellDesktopTray *  ShellDeskx)

Definition at line 196 of file CDesktopBrowser.cpp.

197{
198 CComPtr<IShellFolder> psfDesktop;
199 HRESULT hRet;
200 hRet = SHGetDesktopFolder(&psfDesktop);
201 if (FAILED_UNEXPECTEDLY(hRet))
202 return hRet;
203
204 m_Tray = ShellDesk;
205
207 if (!m_hWnd)
208 return E_FAIL;
209
210 CSFV csfv = {sizeof(CSFV), psfDesktop};
212 if (FAILED_UNEXPECTEDLY(hRet))
213 return hRet;
214
215 m_Tray->RegisterDesktopWindow(m_hWnd);
216 if (FAILED_UNEXPECTEDLY(hRet))
217 return hRet;
218
220 RECT rcShellView = {0,0,0,0};
221 fs.ViewMode = FVM_ICON;
223 hRet = m_ShellView->CreateViewWindow(NULL, &fs, (IShellBrowser *)this, &rcShellView, &m_hWndShellView);
224 if (FAILED_UNEXPECTEDLY(hRet))
225 return hRet;
226
227 _Resize();
228
230
232
233#if 1
234 /* A Windows8+ specific hack */
237#endif
239 UpdateWindow();
240
241 return hRet;
242}
HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV psvcbi, IShellView **ppsv)
Definition: CDefView.cpp:3911
static const WCHAR szProgmanWindowName[]
HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
#define shell32_hInstance
@ Create
Definition: registry.c:563
#define E_FAIL
Definition: ddrawi.h:102
#define fs
Definition: i386-dis.c:444
#define WS_POPUP
Definition: pedump.c:616
#define WS_CLIPSIBLINGS
Definition: pedump.c:618
#define WS_CLIPCHILDREN
Definition: pedump.c:619
#define FAILED_UNEXPECTEDLY(hr)
Definition: shellutils.h:82
struct _CSFV CSFV
@ FWF_NOSCROLL
Definition: shobjidl.idl:641
@ FWF_NOCLIENTEDGE
Definition: shobjidl.idl:640
@ FWF_TRANSPARENT
Definition: shobjidl.idl:639
@ FWF_DESKTOP
Definition: shobjidl.idl:636
@ FVM_ICON
Definition: shobjidl.idl:668
#define IDA_DESKBROWSER
Definition: shresdef.h:27
Definition: shlobj.h:1202
Definition: ffs.h:70
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define WS_EX_TOOLWINDOW
Definition: winuser.h:404
BOOL WINAPI UpdateWindow(_In_ HWND)
HACCEL WINAPI LoadAcceleratorsW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define SW_SHOW
Definition: winuser.h:769
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582

◆ InsertMenusSB()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::InsertMenusSB ( HMENU  hmenuShared,
LPOLEMENUGROUPWIDTHS  lpMenuWidths 
)
virtual

Implements IShellBrowser.

Definition at line 257 of file CDesktopBrowser.cpp.

258{
259 return E_NOTIMPL;
260}

◆ OnClose()

LRESULT CDesktopBrowser::OnClose ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 423 of file CDesktopBrowser.cpp.

424{
425 return _NotifyTray(TWM_DOEXITWINDOWS, 0, 0);
426}
LRESULT _NotifyTray(UINT uMsg, WPARAM wParam, LPARAM lParam)
#define TWM_DOEXITWINDOWS
Definition: undocshell.h:56

◆ OnCommand()

LRESULT CDesktopBrowser::OnCommand ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 358 of file CDesktopBrowser.cpp.

359{
360 switch (LOWORD(wParam))
361 {
363 return _NotifyTray(TWM_DOEXITWINDOWS, 0, 0);
366 return _NotifyTray(TWM_CYCLEFOCUS, 1, 0xFFFFFFFF);
367 else
368 return _NotifyTray(TWM_CYCLEFOCUS, 1, 1);
371 break;
373 if (m_ShellView)
374 m_ShellView->Refresh();
375 break;
376 }
377
378 return 0;
379}
#define FCIDM_DESKBROWSER_REFRESH
Definition: desktop.c:14
#define LOWORD(l)
Definition: pedump.c:82
BOOL WINAPI SHFindFiles(PCIDLIST_ABSOLUTE pidlFolder, PCIDLIST_ABSOLUTE pidlSaveFile)
Definition: shellord.c:2222
#define FCIDM_DESKBROWSER_FOCUS
Definition: shresdef.h:794
#define FCIDM_DESKBROWSER_SEARCH
Definition: shresdef.h:795
#define FCIDM_DESKBROWSER_CLOSE
Definition: shresdef.h:793
#define TWM_CYCLEFOCUS
Definition: undocshell.h:57
#define VK_SHIFT
Definition: winuser.h:2192
SHORT WINAPI GetKeyState(_In_ int)

◆ OnEraseBkgnd()

LRESULT CDesktopBrowser::OnEraseBkgnd ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 382 of file CDesktopBrowser.cpp.

383{
384 return (LRESULT)PaintDesktop((HDC)wParam);
385}
static HDC
Definition: imagelist.c:92
LONG_PTR LRESULT
Definition: windef.h:209
BOOL WINAPI PaintDesktop(_In_ HDC)

◆ OnGetChangeNotifyServer()

LRESULT CDesktopBrowser::OnGetChangeNotifyServer ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 445 of file CDesktopBrowser.cpp.

446{
449 {
452 return NULL;
453
456 return NULL;
457 }
459}
HRESULT CChangeNotifyServer_CreateInstance(REFIID riid, void **ppv)
CComPtr< IOleWindow > m_ChangeNotifyServer
unsigned int BOOL
Definition: ntddk_ex.h:94
HRESULT hres
Definition: protocol.c:465
#define BOOL
Definition: nt_native.h:43
_In_ int _In_ BOOL bCreate
Definition: shlobj.h:1445
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define IID_PPV_ARG(Itype, ppType)

◆ OnOpenNewWindow()

LRESULT CDesktopBrowser::OnOpenNewWindow ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 428 of file CDesktopBrowser.cpp.

429{
430 TRACE("Proxy Desktop message 1035 received.\n");
432 return 0;
433}
BOOL WINAPI SHOnCWMCommandLine(HANDLE hSharedInfo)
Definition: desktopipc.cpp:524
#define TRACE(s)
Definition: solgame.cpp:4

◆ OnSetFocus()

LRESULT CDesktopBrowser::OnSetFocus ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 435 of file CDesktopBrowser.cpp.

436{
438 return 0;
439}
HWND WINAPI SetFocus(_In_opt_ HWND)

◆ OnSettingChange()

LRESULT CDesktopBrowser::OnSettingChange ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 400 of file CDesktopBrowser.cpp.

401{
402 if (uMsg == WM_SETTINGCHANGE /* == WM_WININICHANGE */ &&
403 lstrcmpiW((LPCWSTR)lParam, L"Environment") == 0)
404 {
405 LPVOID lpEnvironment;
406 RegenerateUserEnvironment(&lpEnvironment, TRUE);
407 }
408
409 if (m_hWndShellView)
410 {
411 /* Forward the message */
413 }
414
415 if (uMsg == WM_SETTINGCHANGE && wParam == SPI_SETWORKAREA && m_hWndShellView != NULL)
416 {
417 _Resize();
418 }
419
420 return 0;
421}
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:194
#define L(x)
Definition: ntvdm.h:50
EXTERN_C BOOL WINAPI RegenerateUserEnvironment(LPVOID *lpEnvironment, BOOL bUpdateSelf)
Definition: shell32.cpp:71
#define WM_SETTINGCHANGE
Definition: winuser.h:1619
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

◆ OnSize()

LRESULT CDesktopBrowser::OnSize ( UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
BOOL bHandled 
)

Definition at line 387 of file CDesktopBrowser.cpp.

388{
389 if (wParam == SIZE_MINIMIZED)
390 {
391 /* Hey, we're the desktop!!! */
392 ::ShowWindow(m_hWnd, SW_RESTORE);
393 }
394
396
397 return 0;
398}
#define SIZE_MINIMIZED
Definition: winuser.h:2496
#define SW_RESTORE
Definition: winuser.h:773
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)

◆ OnViewWindowActive()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::OnViewWindowActive ( struct IShellView ppshv)
virtual

Implements IShellBrowser.

Definition at line 330 of file CDesktopBrowser.cpp.

331{
332 return E_NOTIMPL;
333}

◆ QueryActiveShellView()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::QueryActiveShellView ( struct IShellView **  ppshv)
virtual

Implements IShellBrowser.

Definition at line 319 of file CDesktopBrowser.cpp.

320{
321 if (ppshv == NULL)
322 return E_POINTER;
323 *ppshv = m_ShellView;
324 if (*ppshv != NULL)
325 (*ppshv)->AddRef();
326
327 return S_OK;
328}

◆ QueryService()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::QueryService ( REFGUID  guidService,
REFIID  riid,
void **  ppvObject 
)
virtual

Implements IServiceProvider.

Definition at line 340 of file CDesktopBrowser.cpp.

341{
342 /* FIXME - handle guidService */
343 return QueryInterface(riid, ppv);
344}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)

◆ RemoveMenusSB()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::RemoveMenusSB ( HMENU  hmenuShared)
virtual

Implements IShellBrowser.

Definition at line 267 of file CDesktopBrowser.cpp.

268{
269 return E_NOTIMPL;
270}

◆ SendControlMsg()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::SendControlMsg ( UINT  id,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam,
LRESULT pret 
)
virtual

Implements IShellBrowser.

Definition at line 312 of file CDesktopBrowser.cpp.

313{
314 if (pret == NULL)
315 return E_POINTER;
316 return E_NOTIMPL;
317}

◆ SetMenuSB()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::SetMenuSB ( HMENU  hmenuShared,
HOLEMENU  holemenuRes,
HWND  hwndActiveObject 
)
virtual

Implements IShellBrowser.

Definition at line 262 of file CDesktopBrowser.cpp.

263{
264 return E_NOTIMPL;
265}

◆ SetStatusTextSB()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::SetStatusTextSB ( LPCOLESTR  pszStatusText)
virtual

Implements IShellBrowser.

Definition at line 272 of file CDesktopBrowser.cpp.

273{
274 return E_NOTIMPL;
275}

◆ SetToolbarItems()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::SetToolbarItems ( LPTBBUTTON  lpButtons,
UINT  nButtons,
UINT  uFlags 
)
virtual

Definition at line 335 of file CDesktopBrowser.cpp.

336{
337 return E_NOTIMPL;
338}

◆ TranslateAcceleratorSB()

HRESULT STDMETHODCALLTYPE CDesktopBrowser::TranslateAcceleratorSB ( MSG pmsg,
WORD  wID 
)
virtual

Implements IShellBrowser.

Definition at line 282 of file CDesktopBrowser.cpp.

283{
284 if (!::TranslateAcceleratorW(m_hWnd, m_hAccel, lpmsg))
285 return S_FALSE;
286 return S_OK;
287}
#define S_FALSE
Definition: winerror.h:2357
int WINAPI TranslateAcceleratorW(_In_ HWND, _In_ HACCEL, _In_ LPMSG)

Member Data Documentation

◆ m_ChangeNotifyServer

CComPtr<IOleWindow> CDesktopBrowser::m_ChangeNotifyServer
private

Definition at line 46 of file CDesktopBrowser.cpp.

Referenced by OnGetChangeNotifyServer().

◆ m_hAccel

HACCEL CDesktopBrowser::m_hAccel
private

Definition at line 41 of file CDesktopBrowser.cpp.

Referenced by Initialize(), and TranslateAcceleratorSB().

◆ m_hwndChangeNotifyServer

HWND CDesktopBrowser::m_hwndChangeNotifyServer
private

Definition at line 47 of file CDesktopBrowser.cpp.

Referenced by OnGetChangeNotifyServer(), and ~CDesktopBrowser().

◆ m_hWndShellView

HWND CDesktopBrowser::m_hWndShellView
private

◆ m_ShellView

CComPtr<IShellView> CDesktopBrowser::m_ShellView
private

Definition at line 44 of file CDesktopBrowser.cpp.

Referenced by Initialize(), OnCommand(), QueryActiveShellView(), and ~CDesktopBrowser().

◆ m_Tray

CComPtr<IShellDesktopTray> CDesktopBrowser::m_Tray
private

Definition at line 43 of file CDesktopBrowser.cpp.

Referenced by _NotifyTray(), and Initialize().


The documentation for this class was generated from the following file: