HRESULT Explorerplusplus::CreateNewTab(TCHAR *TabDirectory, InitialSettings_t *pSettings,TabInfo_t *pTabInfo,BOOL bSwitchToNewTab, int *pTabObjectIndex) { LPITEMIDLIST pidl = NULL; TCHAR szExpandedPath[MAX_PATH]; HRESULT hr; BOOL bRet; /* Attempt to expand the path (in the event that it contains embedded environment variables). */ bRet = MyExpandEnvironmentStrings(TabDirectory, szExpandedPath,SIZEOF_ARRAY(szExpandedPath)); if(!bRet) { StringCchCopy(szExpandedPath, SIZEOF_ARRAY(szExpandedPath),TabDirectory); } if(!SUCCEEDED(GetIdlFromParsingName(szExpandedPath,&pidl))) return E_FAIL; hr = CreateNewTab(pidl,pSettings,pTabInfo,bSwitchToNewTab,pTabObjectIndex); CoTaskMemFree(pidl); return hr; }
/* Browses to the specified path. The path may have any environment variables expanded (if necessary). */ HRESULT CContainer::ExpandAndBrowsePath(TCHAR *szPath,BOOL bOpenInNewTab,BOOL bSwitchToNewTab) { TCHAR szExpandedPath[MAX_PATH]; MyExpandEnvironmentStrings(szPath, szExpandedPath,SIZEOF_ARRAY(szExpandedPath)); return BrowseFolder(szExpandedPath,SBSP_ABSOLUTE,bOpenInNewTab,bSwitchToNewTab,FALSE); }