[QCKLNCH]

-Tested CISFband in FinalConstruct.
-Performed Clean up on whitespace issues.

svn path=/branches/GSoC_2017/shellext/; revision=75036
This commit is contained in:
Shriraj Sawant 2017-06-14 12:58:12 +00:00
parent a34b262695
commit abfd95f82e
3 changed files with 113 additions and 83 deletions

View file

@ -16,26 +16,24 @@ static const GUID CLSID_QuickLaunchBand = { 0x260cb95d, 0x4544, 0x44f6, { 0xa0,
//Componenet Category Registration
HRESULT RegisterComCat()
{
ICatRegister *pcr;
CComPtr<ICatRegister> pcr;
HRESULT hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
if (SUCCEEDED(hr))
{
CATID catid = CATID_DeskBand;
hr = pcr->RegisterClassImplCategories(CLSID_QuickLaunchBand, 1, &catid);
pcr->Release();
}
return hr;
}
HRESULT UnregisterComCat()
{
ICatRegister *pcr;
CComPtr<ICatRegister> pcr;
HRESULT hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
if (SUCCEEDED(hr))
{
CATID catid = CATID_DeskBand;
hr = pcr->UnRegisterClassImplCategories(CLSID_QuickLaunchBand, 1, &catid);
pcr->Release();
}
return hr;
}
@ -66,6 +64,31 @@ HRESULT UnregisterComCat()
CQuickLaunchBand::~CQuickLaunchBand() { }
/*****************************************************************************/
//ATL Construct
HRESULT CQuickLaunchBand::FinalConstruct()
{
HRESULT hr = CoCreateInstance(CLSID_ISFBand, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void**) &m_punkISFB);
if (SUCCEEDED(hr))
{
CComPtr<IShellFolderBand> pISFB;
hr = m_punkISFB->QueryInterface(IID_IShellFolderBand, (void**) &pISFB);
if (SUCCEEDED(hr))
{
MessageBox(0, L"CISFBand Init success!!", L"Testing", MB_OK | MB_ICONINFORMATION);
CComPtr<IShellFolder> pISF;
hr = SHGetDesktopFolder(&pISF);
if (SUCCEEDED(hr))
{
pISFB->InitializeSFB(pISF, 0);
MessageBox(0, L"CISFBand Init success!!", L"Testing", MB_OK | MB_ICONINFORMATION);
}
}
}
MessageBox(0, L"CISFBand Init success!!", L"Testing", MB_OK | MB_ICONINFORMATION);
return hr;
}
//IObjectWithSite
HRESULT STDMETHODCALLTYPE CQuickLaunchBand::SetSite(IUnknown *pUnkSite)
@ -84,9 +107,7 @@ HRESULT UnregisterComCat()
return hRet;
}
m_Site = pUnkSite;
m_hWnd = CreateWindowEx(0, L"BUTTON", L">>", WS_CHILD, CW_USEDEFAULT, CW_USEDEFAULT, 50, 50, hwndParent, 0, m_hInstance, 0);
SetWindowSubclass(hwndParent, MyWndProc, 0, 0); //when button is clicked, parent receives WM_COMMAND, and thus subclassed to show a test message box
return S_OK;

View file

@ -25,16 +25,24 @@ class CQuickLaunchBand :
public IOleCommandTarget
{
CComPtr<IUnknown> m_Site;
CComPtr<IUnknown> m_punkISFB;
HINSTANCE m_hInstance;
HWND m_hWnd;
HWND m_hWndStartButton;
DWORD m_BandID;
public:
CQuickLaunchBand();
virtual ~CQuickLaunchBand();
//ATL construct
HRESULT FinalConstruct();
//IObjectWithSite
virtual HRESULT STDMETHODCALLTYPE GetSite(

View file

@ -18,6 +18,7 @@
#include <ddeml.h>
#include <shlguid_undoc.h>
#include <shlwapi.h>
#include <shlguid.h>
#include <shlobj.h>
#include <shlobj_undoc.h>
#include <shlwapi_undoc.h>