mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 07:56:59 +00:00
- Remove CLSID_RebarBandSite from uuid, and contain it within explorer as it's an undoc GUID
- Load SHInvokeDefaultCommand when required to avoid msvc linker dependencies - explorer_new now builds and links with msvc9, although it'll crash if you try to run it at the moment. Investigation needed. svn path=/trunk/; revision=33234
This commit is contained in:
parent
7be668ec63
commit
c4d7bed972
5 changed files with 29 additions and 6 deletions
|
@ -24,6 +24,9 @@ HINSTANCE hExplorerInstance;
|
||||||
HANDLE hProcessHeap;
|
HANDLE hProcessHeap;
|
||||||
HKEY hkExplorer = NULL;
|
HKEY hkExplorer = NULL;
|
||||||
|
|
||||||
|
/* undoc GUID */
|
||||||
|
DEFINE_GUID(CLSID_RebarBandSite, 0xECD4FC4D, 0x521C, 0x11D0, 0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1);
|
||||||
|
|
||||||
LONG
|
LONG
|
||||||
SetWindowStyle(IN HWND hWnd,
|
SetWindowStyle(IN HWND hWnd,
|
||||||
IN LONG dwStyleMask,
|
IN LONG dwStyleMask,
|
||||||
|
|
|
@ -21,11 +21,13 @@
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "comcsup.h"
|
#include "comcsup.h"
|
||||||
#include "todo.h"
|
#include "todo.h"
|
||||||
|
#include "initguid.h"
|
||||||
#include "undoc.h"
|
#include "undoc.h"
|
||||||
|
|
||||||
/* dynamic imports due to lack of support in msvc linker libs */
|
/* dynamic imports due to lack of support in msvc linker libs */
|
||||||
typedef INT (STDCALL *REGSHELLHOOK)(HWND, DWORD);
|
typedef INT (STDCALL *REGSHELLHOOK)(HWND, DWORD);
|
||||||
typedef BOOL (STDCALL *DRAWCAPTEMP)(HWND, HDC, const RECT*, HFONT, HICON, LPCWSTR, UINT);
|
typedef BOOL (STDCALL *DRAWCAPTEMP)(HWND, HDC, const RECT*, HFONT, HICON, LPCWSTR, UINT);
|
||||||
|
typedef HRESULT (STDCALL *SHINVDEFCMD)(HWND, IShellFolder*, LPCITEMIDLIST);
|
||||||
|
|
||||||
static ULONG __inline
|
static ULONG __inline
|
||||||
Win32DbgPrint(const char *filename, int line, const char *lpFormat, ...)
|
Win32DbgPrint(const char *filename, int line, const char *lpFormat, ...)
|
||||||
|
|
|
@ -471,12 +471,32 @@ IStartMenuSiteImpl_Execute(IN OUT IStartMenuCallback *iface,
|
||||||
IN IShellFolder *pShellFolder,
|
IN IShellFolder *pShellFolder,
|
||||||
IN LPCITEMIDLIST pidl)
|
IN LPCITEMIDLIST pidl)
|
||||||
{
|
{
|
||||||
|
HMODULE hShlwapi;
|
||||||
|
HRESULT ret = S_FALSE;
|
||||||
|
|
||||||
IStartMenuSiteImpl *This = IStartMenuSiteImpl_from_IStartMenuCallback(iface);
|
IStartMenuSiteImpl *This = IStartMenuSiteImpl_from_IStartMenuCallback(iface);
|
||||||
|
|
||||||
DbgPrint("IStartMenuCallback::Execute\n");
|
DbgPrint("IStartMenuCallback::Execute\n");
|
||||||
return SHInvokeDefaultCommand(ITrayWindow_GetHWND(This->Tray),
|
|
||||||
pShellFolder,
|
hShlwapi = LoadLibrary(TEXT("SHLWAPI.DLL"));
|
||||||
pidl);
|
if (hShlwapi != NULL)
|
||||||
|
{
|
||||||
|
SHINVDEFCMD SHInvokeDefCmd;
|
||||||
|
|
||||||
|
/* SHInvokeDefaultCommand */
|
||||||
|
SHInvokeDefCmd = (SHINVDEFCMD)GetProcAddress(hShlwapi,
|
||||||
|
(LPCSTR)((LONG)279));
|
||||||
|
if (SHInvokeDefCmd != NULL)
|
||||||
|
{
|
||||||
|
ret = SHInvokeDefCmd(ITrayWindow_GetHWND(This->Tray),
|
||||||
|
pShellFolder,
|
||||||
|
pidl);
|
||||||
|
}
|
||||||
|
|
||||||
|
FreeLibrary(hShlwapi);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT STDMETHODCALLTYPE
|
static HRESULT STDMETHODCALLTYPE
|
||||||
|
|
|
@ -228,8 +228,7 @@ typedef CREATEMRULISTA CREATEMRULIST, *PCREATEMRULIST;
|
||||||
#define DrawCaptionTemp DrawCaptionTempA
|
#define DrawCaptionTemp DrawCaptionTempA
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DEFINE_GUID(CLSID_RebarBandSite, 0xECD4FC4D, 0x521C, 0x11D0, 0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1);
|
EXTERN_C const GUID CLSID_RebarBandSite;
|
||||||
DEFINE_GUID(IID_IDeskBand, 0xEB0FE172, 0x1A3A, 0x11D0, 0x89, 0xB3, 0x00, 0xA0, 0xC9, 0x0A, 0x90, 0xAC);
|
|
||||||
|
|
||||||
HRESULT WINAPI SHInvokeDefaultCommand(HWND,IShellFolder*,LPCITEMIDLIST);
|
HRESULT WINAPI SHInvokeDefaultCommand(HWND,IShellFolder*,LPCITEMIDLIST);
|
||||||
|
|
||||||
|
|
|
@ -122,4 +122,3 @@ DEFINE_GUID(CLSID_ComBinding, 0x00000328,0x0000,0x0000,0xc0,0x00,0x0
|
||||||
DEFINE_GUID(CLSID_StdEvent, 0x0000032b,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
DEFINE_GUID(CLSID_StdEvent, 0x0000032b,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
DEFINE_GUID(CLSID_ManualResetEvent, 0x0000032c,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
DEFINE_GUID(CLSID_ManualResetEvent, 0x0000032c,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
DEFINE_GUID(CLSID_SynchronizeContainer, 0x0000032d,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
DEFINE_GUID(CLSID_SynchronizeContainer, 0x0000032d,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
DEFINE_GUID(CLSID_RebarBandSite, 0xECD4FC4D, 0x521C, 0x11D0, 0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1);
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue