- Improve filebrowser a bit and add some FIXMEs to show what should be done later

svn path=/branches/shell-experiments/; revision=62118
This commit is contained in:
Giannis Adamopoulos 2014-02-11 14:06:26 +00:00
parent 239867bdd1
commit 372a7f9133
3 changed files with 7 additions and 13 deletions

View file

@ -37,7 +37,8 @@ int _tmain(int argc, _TCHAR* argv[])
SHOpenNewFrame((LPITEMIDLIST)pidlDrives, NULL, 0, 0);
}
Sleep(3000);
/* FIXME: we should wait a bit here and see if a window was created. If not we should exit this process */
ExitThread(0);
return 0;
}

View file

@ -269,19 +269,9 @@ typedef HRESULT (WINAPI *SH_OPEN_NEW_FRAME)(LPITEMIDLIST pidl, IUnknown *paramC,
HRESULT STDMETHODCALLTYPE CDesktopBrowser::BrowseObject(LPCITEMIDLIST pidl, UINT wFlags)
{
/*
* We should use IShellWindows interface here in order to attempt to
* find an open shell window that shows the requested pidl and activate it
*/
/* FIXME: Implement executing filebrowser.exe and somehow pass the pidl to it */
#if 0
HMODULE hBrowseui = LoadLibraryW(L"browseui.dll");
if (hBrowseui)
{
SH_OPEN_NEW_FRAME SHOpenNewFrame = (SH_OPEN_NEW_FRAME)GetProcAddress(hBrowseui, (LPCSTR)103);
return SHOpenNewFrame((LPITEMIDLIST)pidl, NULL, 0, 0);
}
#endif
/* Returning failure here will make windows 7 and 8 to use the default file browser */
return E_FAIL;
}

View file

@ -300,6 +300,9 @@ CStartMenu_Constructor(
if (FAILED(hr))
return NULL;
/* FIXME: Use CLSID_MergedFolder class and IID_IAugmentedShellFolder2 interface here */
/* CLSID_MergedFolder 26fdc864-be88-46e7-9235-032d8ea5162e */
/* IID_IAugmentedShellFolder2 8db3b3f4-6cfe-11d1-8ae9-00c04fd918d0 */
hr = SHGetFolderLocation(NULL, CSIDL_STARTMENU, 0, 0, &pidlStartMenu);
hr = SHGetDesktopFolder(&shellFolder);
hr = shellFolder->BindToObject(pidlStartMenu, NULL, IID_IShellFolder, (void**)&psfStartMenu);