[BROWSEUI] Accept environment variables on auto-completion

Expand %WINDIR%, %SystemRoot% etc. at CACListISF::Expand. CORE-9281
This commit is contained in:
Katayama Hirofumi MZ 2021-04-05 17:20:35 +09:00
parent a5950308fd
commit badcfb2f7d

View file

@ -331,6 +331,14 @@ STDMETHODIMP CACListISF::Expand(LPCOLESTR pszExpand)
m_szExpand = pszExpand;
m_iNextLocation = LT_DIRECTORY;
// expand environment variables (%WINDIR% etc.)
WCHAR szExpanded[MAX_PATH];
if (wcschr(pszExpand, L'%') != NULL &&
ExpandEnvironmentStringsW(pszExpand, szExpanded, _countof(szExpanded)))
{
pszExpand = szExpanded;
}
// get full path
WCHAR szPath1[MAX_PATH], szPath2[MAX_PATH];
if (PathIsRelativeW(pszExpand) &&
@ -427,3 +435,4 @@ STDMETHODIMP CACListISF::SetDirectory(LPCWSTR pwzPath)
m_pidlCurDir.Attach(pidl);
return S_OK;
}