Как запустить "My computer" и "Recycle Bin" из другого приложения? Заранее благодарен.
Здравствуйте, elar, Вы писали:
E>Как запустить "My computer" и "Recycle Bin" из другого приложения? Заранее благодарен.
"My computer" откроется, если запустить explorer.exe.
Т.е., например:
CString strPath;
BOOL b = SHGetSpecialFolderPath(
AfxGetMainWnd()->GetSafeHwnd(),
strPath.GetBuffer(MAX_PATH),
CSIDL_WINDOWS,
FALSE);
m_strCommandLine = strPath;
strPath.ReleaseBuffer();
CString strCommandLine = strPath + _T("\explorer.exe");
BOOL bRes = CreateProcess(NULL, strCommandLine.GetBuffer(0), NULL, NULL, TRUE, CREATE_DEFAULT_ERROR_MODE, GetEnvironmentStrings(), NULL, &StartupInfo, &ProcessInformation);
Про Recycle Bin не знаю, но может это поможет:
http://www.codeproject.com/shell/recyclebin.asp
http://www.rsdn.ru/article/winshell/winshell.xmlАвтор(ы): Акжан Абдулин
Дата: 17 апреля 2001 г.
"В операционных системах компании Microsoft с 1995 года используется новая
оболочка, построенная на основе компонентной объектной модели. Одним из
нововведений оболочки операционной системы стало понятие пространства имён
оболочки"...
E>Как запустить "My computer" и "Recycle Bin" из другого приложения? Заранее благодарен.
Использовать ShellExecuteEx, либо реализовать самому IShellBrowser и через IShellFolder\IShellView создать новое окно.
Первый вариант проще:
SHELLEXECUTEINFO se;
SHGetSpecialFolderLocation(NULL,CSIDL_DRIVES, &lst);
ZeroMemory(&se, sizeof(se));
se.cbSize = sizeof(se);
se.fMask = SEE_MASK_IDLIST;
se.hwnd = NULL;
se.lpVerb = "open";
se.nShow = SW_SHOW;
se.lpIDList = lst;
ShellExecuteEx(&se);
CoTaskMemFree(lst);