- 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:
Ged Murphy 2008-05-02 12:09:39 +00:00
parent 7be668ec63
commit c4d7bed972
5 changed files with 29 additions and 6 deletions

View file

@ -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,

View file

@ -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, ...)

View file

@ -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

View file

@ -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);

View file

@ -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);